Will read in 10X Genomics files from Meis and RFP samples for QC analysis

1. Libraries, annotation and palette

library(Seurat)
library(dplyr)
library(org.Dr.eg.db)
library(BSgenome.Drerio.UCSC.danRer11)
library(Signac)
library(ggplot2)
library(ggsci)
library(limma)
library(AnnotationHub)
library(reticulate)
library(patchwork)
use_python("/Users/becky/opt/miniconda3/bin/python")
library(JASPAR2020)
library(TFBSTools)
library(motifmatchr)
options(future.globals.maxSize = 4000 * 1024^2)
ah = AnnotationHub()
yes

  |                                                                                                                   
  |                                                                                                             |   0%
  |                                                                                                                   
  |=                                                                                                            |   0%
  |                                                                                                                   
  |=                                                                                                            |   1%
  |                                                                                                                   
  |==                                                                                                           |   1%
  |                                                                                                                   
  |==                                                                                                           |   2%
  |                                                                                                                   
  |===                                                                                                          |   2%
  |                                                                                                                   
  |===                                                                                                          |   3%
  |                                                                                                                   
  |====                                                                                                         |   3%
  |                                                                                                                   
  |====                                                                                                         |   4%
  |                                                                                                                   
  |=====                                                                                                        |   4%
  |                                                                                                                   
  |=====                                                                                                        |   5%
  |                                                                                                                   
  |======                                                                                                       |   5%
  |                                                                                                                   
  |======                                                                                                       |   6%
  |                                                                                                                   
  |=======                                                                                                      |   6%
  |                                                                                                                   
  |=======                                                                                                      |   7%
  |                                                                                                                   
  |========                                                                                                     |   7%
  |                                                                                                                   
  |========                                                                                                     |   8%
  |                                                                                                                   
  |=========                                                                                                    |   8%
  |                                                                                                                   
  |=========                                                                                                    |   9%
  |                                                                                                                   
  |==========                                                                                                   |   9%
  |                                                                                                                   
  |==========                                                                                                   |  10%
  |                                                                                                                   
  |===========                                                                                                  |  10%
  |                                                                                                                   
  |===========                                                                                                  |  11%
  |                                                                                                                   
  |============                                                                                                 |  11%
  |                                                                                                                   
  |=============                                                                                                |  11%
  |                                                                                                                   
  |=============                                                                                                |  12%
  |                                                                                                                   
  |==============                                                                                               |  12%
  |                                                                                                                   
  |==============                                                                                               |  13%
  |                                                                                                                   
  |===============                                                                                              |  13%
  |                                                                                                                   
  |===============                                                                                              |  14%
  |                                                                                                                   
  |================                                                                                             |  14%
  |                                                                                                                   
  |================                                                                                             |  15%
  |                                                                                                                   
  |=================                                                                                            |  15%
  |                                                                                                                   
  |=================                                                                                            |  16%
  |                                                                                                                   
  |==================                                                                                           |  16%
  |                                                                                                                   
  |==================                                                                                           |  17%
  |                                                                                                                   
  |===================                                                                                          |  17%
  |                                                                                                                   
  |===================                                                                                          |  18%
  |                                                                                                                   
  |====================                                                                                         |  18%
  |                                                                                                                   
  |====================                                                                                         |  19%
  |                                                                                                                   
  |=====================                                                                                        |  19%
  |                                                                                                                   
  |=====================                                                                                        |  20%
  |                                                                                                                   
  |======================                                                                                       |  20%
  |                                                                                                                   
  |======================                                                                                       |  21%
  |                                                                                                                   
  |=======================                                                                                      |  21%
  |                                                                                                                   
  |=======================                                                                                      |  22%
  |                                                                                                                   
  |========================                                                                                     |  22%
  |                                                                                                                   
  |=========================                                                                                    |  22%
  |                                                                                                                   
  |=========================                                                                                    |  23%
  |                                                                                                                   
  |==========================                                                                                   |  23%
  |                                                                                                                   
  |==========================                                                                                   |  24%
  |                                                                                                                   
  |===========================                                                                                  |  24%
  |                                                                                                                   
  |===========================                                                                                  |  25%
  |                                                                                                                   
  |============================                                                                                 |  25%
  |                                                                                                                   
  |============================                                                                                 |  26%
  |                                                                                                                   
  |=============================                                                                                |  26%
  |                                                                                                                   
  |=============================                                                                                |  27%
  |                                                                                                                   
  |==============================                                                                               |  27%
  |                                                                                                                   
  |==============================                                                                               |  28%
  |                                                                                                                   
  |===============================                                                                              |  28%
  |                                                                                                                   
  |===============================                                                                              |  29%
  |                                                                                                                   
  |================================                                                                             |  29%
  |                                                                                                                   
  |================================                                                                             |  30%
  |                                                                                                                   
  |=================================                                                                            |  30%
  |                                                                                                                   
  |=================================                                                                            |  31%
  |                                                                                                                   
  |==================================                                                                           |  31%
  |                                                                                                                   
  |==================================                                                                           |  32%
  |                                                                                                                   
  |===================================                                                                          |  32%
  |                                                                                                                   
  |===================================                                                                          |  33%
  |                                                                                                                   
  |====================================                                                                         |  33%
  |                                                                                                                   
  |=====================================                                                                        |  33%
  |                                                                                                                   
  |=====================================                                                                        |  34%
  |                                                                                                                   
  |======================================                                                                       |  34%
  |                                                                                                                   
  |======================================                                                                       |  35%
  |                                                                                                                   
  |=======================================                                                                      |  35%
  |                                                                                                                   
  |=======================================                                                                      |  36%
  |                                                                                                                   
  |========================================                                                                     |  36%
  |                                                                                                                   
  |========================================                                                                     |  37%
  |                                                                                                                   
  |=========================================                                                                    |  37%
  |                                                                                                                   
  |=========================================                                                                    |  38%
  |                                                                                                                   
  |==========================================                                                                   |  38%
  |                                                                                                                   
  |==========================================                                                                   |  39%
  |                                                                                                                   
  |===========================================                                                                  |  39%
  |                                                                                                                   
  |===========================================                                                                  |  40%
  |                                                                                                                   
  |============================================                                                                 |  40%
  |                                                                                                                   
  |============================================                                                                 |  41%
  |                                                                                                                   
  |=============================================                                                                |  41%
  |                                                                                                                   
  |=============================================                                                                |  42%
  |                                                                                                                   
  |==============================================                                                               |  42%
  |                                                                                                                   
  |==============================================                                                               |  43%
  |                                                                                                                   
  |===============================================                                                              |  43%
  |                                                                                                                   
  |===============================================                                                              |  44%
  |                                                                                                                   
  |================================================                                                             |  44%
  |                                                                                                                   
  |=================================================                                                            |  44%
  |                                                                                                                   
  |=================================================                                                            |  45%
  |                                                                                                                   
  |==================================================                                                           |  45%
  |                                                                                                                   
  |==================================================                                                           |  46%
  |                                                                                                                   
  |===================================================                                                          |  46%
  |                                                                                                                   
  |===================================================                                                          |  47%
  |                                                                                                                   
  |====================================================                                                         |  47%
  |                                                                                                                   
  |====================================================                                                         |  48%
  |                                                                                                                   
  |=====================================================                                                        |  48%
  |                                                                                                                   
  |=====================================================                                                        |  49%
  |                                                                                                                   
  |======================================================                                                       |  49%
  |                                                                                                                   
  |======================================================                                                       |  50%
  |                                                                                                                   
  |=======================================================                                                      |  50%
  |                                                                                                                   
  |=======================================================                                                      |  51%
  |                                                                                                                   
  |========================================================                                                     |  51%
  |                                                                                                                   
  |========================================================                                                     |  52%
  |                                                                                                                   
  |=========================================================                                                    |  52%
  |                                                                                                                   
  |=========================================================                                                    |  53%
  |                                                                                                                   
  |==========================================================                                                   |  53%
  |                                                                                                                   
  |==========================================================                                                   |  54%
  |                                                                                                                   
  |===========================================================                                                  |  54%
  |                                                                                                                   
  |===========================================================                                                  |  55%
  |                                                                                                                   
  |============================================================                                                 |  55%
  |                                                                                                                   
  |=============================================================                                                |  56%
  |                                                                                                                   
  |==============================================================                                               |  56%
  |                                                                                                                   
  |==============================================================                                               |  57%
  |                                                                                                                   
  |===============================================================                                              |  57%
  |                                                                                                                   
  |===============================================================                                              |  58%
  |                                                                                                                   
  |================================================================                                             |  58%
  |                                                                                                                   
  |================================================================                                             |  59%
  |                                                                                                                   
  |=================================================================                                            |  59%
  |                                                                                                                   
  |=================================================================                                            |  60%
  |                                                                                                                   
  |==================================================================                                           |  60%
  |                                                                                                                   
  |==================================================================                                           |  61%
  |                                                                                                                   
  |===================================================================                                          |  61%
  |                                                                                                                   
  |===================================================================                                          |  62%
  |                                                                                                                   
  |====================================================================                                         |  62%
  |                                                                                                                   
  |====================================================================                                         |  63%
  |                                                                                                                   
  |=====================================================================                                        |  63%
  |                                                                                                                   
  |=====================================================================                                        |  64%
  |                                                                                                                   
  |======================================================================                                       |  64%
  |                                                                                                                   
  |======================================================================                                       |  65%
  |                                                                                                                   
  |=======================================================================                                      |  65%
  |                                                                                                                   
  |=======================================================================                                      |  66%
  |                                                                                                                   
  |========================================================================                                     |  66%
  |                                                                                                                   
  |========================================================================                                     |  67%
  |                                                                                                                   
  |=========================================================================                                    |  67%
  |                                                                                                                   
  |==========================================================================                                   |  67%
  |                                                                                                                   
  |==========================================================================                                   |  68%
  |                                                                                                                   
  |===========================================================================                                  |  68%
  |                                                                                                                   
  |===========================================================================                                  |  69%
  |                                                                                                                   
  |============================================================================                                 |  69%
  |                                                                                                                   
  |============================================================================                                 |  70%
  |                                                                                                                   
  |=============================================================================                                |  70%
  |                                                                                                                   
  |=============================================================================                                |  71%
  |                                                                                                                   
  |==============================================================================                               |  71%
  |                                                                                                                   
  |==============================================================================                               |  72%
  |                                                                                                                   
  |===============================================================================                              |  72%
  |                                                                                                                   
  |===============================================================================                              |  73%
  |                                                                                                                   
  |================================================================================                             |  73%
  |                                                                                                                   
  |================================================================================                             |  74%
  |                                                                                                                   
  |=================================================================================                            |  74%
  |                                                                                                                   
  |=================================================================================                            |  75%
  |                                                                                                                   
  |==================================================================================                           |  75%
  |                                                                                                                   
  |==================================================================================                           |  76%
  |                                                                                                                   
  |===================================================================================                          |  76%
  |                                                                                                                   
  |===================================================================================                          |  77%
  |                                                                                                                   
  |====================================================================================                         |  77%
  |                                                                                                                   
  |====================================================================================                         |  78%
  |                                                                                                                   
  |=====================================================================================                        |  78%
  |                                                                                                                   
  |======================================================================================                       |  78%
  |                                                                                                                   
  |======================================================================================                       |  79%
  |                                                                                                                   
  |=======================================================================================                      |  79%
  |                                                                                                                   
  |=======================================================================================                      |  80%
  |                                                                                                                   
  |========================================================================================                     |  80%
  |                                                                                                                   
  |========================================================================================                     |  81%
  |                                                                                                                   
  |=========================================================================================                    |  81%
  |                                                                                                                   
  |=========================================================================================                    |  82%
  |                                                                                                                   
  |==========================================================================================                   |  82%
  |                                                                                                                   
  |==========================================================================================                   |  83%
  |                                                                                                                   
  |===========================================================================================                  |  83%
  |                                                                                                                   
  |===========================================================================================                  |  84%
  |                                                                                                                   
  |============================================================================================                 |  84%
  |                                                                                                                   
  |============================================================================================                 |  85%
  |                                                                                                                   
  |=============================================================================================                |  85%
  |                                                                                                                   
  |=============================================================================================                |  86%
  |                                                                                                                   
  |==============================================================================================               |  86%
  |                                                                                                                   
  |==============================================================================================               |  87%
  |                                                                                                                   
  |===============================================================================================              |  87%
  |                                                                                                                   
  |===============================================================================================              |  88%
  |                                                                                                                   
  |================================================================================================             |  88%
  |                                                                                                                   
  |================================================================================================             |  89%
  |                                                                                                                   
  |=================================================================================================            |  89%
  |                                                                                                                   
  |==================================================================================================           |  89%
  |                                                                                                                   
  |==================================================================================================           |  90%
  |                                                                                                                   
  |===================================================================================================          |  90%
  |                                                                                                                   
  |===================================================================================================          |  91%
  |                                                                                                                   
  |====================================================================================================         |  91%
  |                                                                                                                   
  |====================================================================================================         |  92%
  |                                                                                                                   
  |=====================================================================================================        |  92%
  |                                                                                                                   
  |=====================================================================================================        |  93%
  |                                                                                                                   
  |======================================================================================================       |  93%
  |                                                                                                                   
  |======================================================================================================       |  94%
  |                                                                                                                   
  |=======================================================================================================      |  94%
  |                                                                                                                   
  |=======================================================================================================      |  95%
  |                                                                                                                   
  |========================================================================================================     |  95%
  |                                                                                                                   
  |========================================================================================================     |  96%
  |                                                                                                                   
  |=========================================================================================================    |  96%
  |                                                                                                                   
  |=========================================================================================================    |  97%
  |                                                                                                                   
  |==========================================================================================================   |  97%
  |                                                                                                                   
  |==========================================================================================================   |  98%
  |                                                                                                                   
  |===========================================================================================================  |  98%
  |                                                                                                                   
  |===========================================================================================================  |  99%
  |                                                                                                                   
  |============================================================================================================ |  99%
  |                                                                                                                   
  |============================================================================================================ | 100%
  |                                                                                                                   
  |=============================================================================================================| 100%
snapshotDate(): 2021-10-20
GRCz11.v99.EnsDb = ah[["AH78759"]]  ## /beevol/home/orourke/genomes/cellranger_arc_genomes/zebrafishPlusGFP built on GRCz11.v99.gtf
downloading 1 resources
retrieving 1 resource

  |                                                                                                                   
  |                                                                                                             |   0%
  |                                                                                                                   
  |=                                                                                                            |   0%
  |                                                                                                                   
  |=                                                                                                            |   1%
  |                                                                                                                   
  |==                                                                                                           |   1%
  |                                                                                                                   
  |==                                                                                                           |   2%
  |                                                                                                                   
  |===                                                                                                          |   2%
  |                                                                                                                   
  |===                                                                                                          |   3%
  |                                                                                                                   
  |====                                                                                                         |   3%
  |                                                                                                                   
  |====                                                                                                         |   4%
  |                                                                                                                   
  |=====                                                                                                        |   4%
  |                                                                                                                   
  |=====                                                                                                        |   5%
  |                                                                                                                   
  |======                                                                                                       |   5%
  |                                                                                                                   
  |======                                                                                                       |   6%
  |                                                                                                                   
  |=======                                                                                                      |   6%
  |                                                                                                                   
  |=======                                                                                                      |   7%
  |                                                                                                                   
  |========                                                                                                     |   7%
  |                                                                                                                   
  |========                                                                                                     |   8%
  |                                                                                                                   
  |=========                                                                                                    |   8%
  |                                                                                                                   
  |=========                                                                                                    |   9%
  |                                                                                                                   
  |==========                                                                                                   |   9%
  |                                                                                                                   
  |==========                                                                                                   |  10%
  |                                                                                                                   
  |===========                                                                                                  |  10%
  |                                                                                                                   
  |===========                                                                                                  |  11%
  |                                                                                                                   
  |============                                                                                                 |  11%
  |                                                                                                                   
  |=============                                                                                                |  11%
  |                                                                                                                   
  |=============                                                                                                |  12%
  |                                                                                                                   
  |==============                                                                                               |  12%
  |                                                                                                                   
  |==============                                                                                               |  13%
  |                                                                                                                   
  |===============                                                                                              |  13%
  |                                                                                                                   
  |===============                                                                                              |  14%
  |                                                                                                                   
  |================                                                                                             |  14%
  |                                                                                                                   
  |================                                                                                             |  15%
  |                                                                                                                   
  |=================                                                                                            |  15%
  |                                                                                                                   
  |=================                                                                                            |  16%
  |                                                                                                                   
  |==================                                                                                           |  16%
  |                                                                                                                   
  |==================                                                                                           |  17%
  |                                                                                                                   
  |===================                                                                                          |  17%
  |                                                                                                                   
  |===================                                                                                          |  18%
  |                                                                                                                   
  |====================                                                                                         |  18%
  |                                                                                                                   
  |====================                                                                                         |  19%
  |                                                                                                                   
  |=====================                                                                                        |  19%
  |                                                                                                                   
  |=====================                                                                                        |  20%
  |                                                                                                                   
  |======================                                                                                       |  20%
  |                                                                                                                   
  |======================                                                                                       |  21%
  |                                                                                                                   
  |=======================                                                                                      |  21%
  |                                                                                                                   
  |=======================                                                                                      |  22%
  |                                                                                                                   
  |========================                                                                                     |  22%
  |                                                                                                                   
  |=========================                                                                                    |  22%
  |                                                                                                                   
  |=========================                                                                                    |  23%
  |                                                                                                                   
  |==========================                                                                                   |  23%
  |                                                                                                                   
  |==========================                                                                                   |  24%
  |                                                                                                                   
  |===========================                                                                                  |  24%
  |                                                                                                                   
  |===========================                                                                                  |  25%
  |                                                                                                                   
  |============================                                                                                 |  25%
  |                                                                                                                   
  |============================                                                                                 |  26%
  |                                                                                                                   
  |=============================                                                                                |  26%
  |                                                                                                                   
  |=============================                                                                                |  27%
  |                                                                                                                   
  |==============================                                                                               |  27%
  |                                                                                                                   
  |==============================                                                                               |  28%
  |                                                                                                                   
  |===============================                                                                              |  28%
  |                                                                                                                   
  |===============================                                                                              |  29%
  |                                                                                                                   
  |================================                                                                             |  29%
  |                                                                                                                   
  |================================                                                                             |  30%
  |                                                                                                                   
  |=================================                                                                            |  30%
  |                                                                                                                   
  |=================================                                                                            |  31%
  |                                                                                                                   
  |==================================                                                                           |  31%
  |                                                                                                                   
  |==================================                                                                           |  32%
  |                                                                                                                   
  |===================================                                                                          |  32%
  |                                                                                                                   
  |===================================                                                                          |  33%
  |                                                                                                                   
  |====================================                                                                         |  33%
  |                                                                                                                   
  |=====================================                                                                        |  33%
  |                                                                                                                   
  |=====================================                                                                        |  34%
  |                                                                                                                   
  |======================================                                                                       |  34%
  |                                                                                                                   
  |======================================                                                                       |  35%
  |                                                                                                                   
  |=======================================                                                                      |  35%
  |                                                                                                                   
  |=======================================                                                                      |  36%
  |                                                                                                                   
  |========================================                                                                     |  36%
  |                                                                                                                   
  |========================================                                                                     |  37%
  |                                                                                                                   
  |=========================================                                                                    |  37%
  |                                                                                                                   
  |=========================================                                                                    |  38%
  |                                                                                                                   
  |==========================================                                                                   |  38%
  |                                                                                                                   
  |==========================================                                                                   |  39%
  |                                                                                                                   
  |===========================================                                                                  |  39%
  |                                                                                                                   
  |===========================================                                                                  |  40%
  |                                                                                                                   
  |============================================                                                                 |  40%
  |                                                                                                                   
  |============================================                                                                 |  41%
  |                                                                                                                   
  |=============================================                                                                |  41%
  |                                                                                                                   
  |=============================================                                                                |  42%
  |                                                                                                                   
  |==============================================                                                               |  42%
  |                                                                                                                   
  |==============================================                                                               |  43%
  |                                                                                                                   
  |===============================================                                                              |  43%
  |                                                                                                                   
  |===============================================                                                              |  44%
  |                                                                                                                   
  |================================================                                                             |  44%
  |                                                                                                                   
  |=================================================                                                            |  45%
  |                                                                                                                   
  |==================================================                                                           |  45%
  |                                                                                                                   
  |==================================================                                                           |  46%
  |                                                                                                                   
  |===================================================                                                          |  46%
  |                                                                                                                   
  |===================================================                                                          |  47%
  |                                                                                                                   
  |====================================================                                                         |  47%
  |                                                                                                                   
  |====================================================                                                         |  48%
  |                                                                                                                   
  |=====================================================                                                        |  48%
  |                                                                                                                   
  |=====================================================                                                        |  49%
  |                                                                                                                   
  |======================================================                                                       |  49%
  |                                                                                                                   
  |======================================================                                                       |  50%
  |                                                                                                                   
  |=======================================================                                                      |  50%
  |                                                                                                                   
  |=======================================================                                                      |  51%
  |                                                                                                                   
  |========================================================                                                     |  51%
  |                                                                                                                   
  |========================================================                                                     |  52%
  |                                                                                                                   
  |=========================================================                                                    |  52%
  |                                                                                                                   
  |=========================================================                                                    |  53%
  |                                                                                                                   
  |==========================================================                                                   |  53%
  |                                                                                                                   
  |==========================================================                                                   |  54%
  |                                                                                                                   
  |===========================================================                                                  |  54%
  |                                                                                                                   
  |===========================================================                                                  |  55%
  |                                                                                                                   
  |============================================================                                                 |  55%
  |                                                                                                                   
  |============================================================                                                 |  56%
  |                                                                                                                   
  |=============================================================                                                |  56%
  |                                                                                                                   
  |==============================================================                                               |  56%
  |                                                                                                                   
  |==============================================================                                               |  57%
  |                                                                                                                   
  |===============================================================                                              |  57%
  |                                                                                                                   
  |===============================================================                                              |  58%
  |                                                                                                                   
  |================================================================                                             |  58%
  |                                                                                                                   
  |================================================================                                             |  59%
  |                                                                                                                   
  |=================================================================                                            |  59%
  |                                                                                                                   
  |=================================================================                                            |  60%
  |                                                                                                                   
  |==================================================================                                           |  60%
  |                                                                                                                   
  |==================================================================                                           |  61%
  |                                                                                                                   
  |===================================================================                                          |  61%
  |                                                                                                                   
  |===================================================================                                          |  62%
  |                                                                                                                   
  |====================================================================                                         |  62%
  |                                                                                                                   
  |====================================================================                                         |  63%
  |                                                                                                                   
  |=====================================================================                                        |  63%
  |                                                                                                                   
  |=====================================================================                                        |  64%
  |                                                                                                                   
  |======================================================================                                       |  64%
  |                                                                                                                   
  |======================================================================                                       |  65%
  |                                                                                                                   
  |=======================================================================                                      |  65%
  |                                                                                                                   
  |=======================================================================                                      |  66%
  |                                                                                                                   
  |========================================================================                                     |  66%
  |                                                                                                                   
  |========================================================================                                     |  67%
  |                                                                                                                   
  |=========================================================================                                    |  67%
  |                                                                                                                   
  |==========================================================================                                   |  67%
  |                                                                                                                   
  |==========================================================================                                   |  68%
  |                                                                                                                   
  |===========================================================================                                  |  68%
  |                                                                                                                   
  |===========================================================================                                  |  69%
  |                                                                                                                   
  |============================================================================                                 |  69%
  |                                                                                                                   
  |============================================================================                                 |  70%
  |                                                                                                                   
  |=============================================================================                                |  70%
  |                                                                                                                   
  |=============================================================================                                |  71%
  |                                                                                                                   
  |==============================================================================                               |  71%
  |                                                                                                                   
  |==============================================================================                               |  72%
  |                                                                                                                   
  |===============================================================================                              |  72%
  |                                                                                                                   
  |===============================================================================                              |  73%
  |                                                                                                                   
  |================================================================================                             |  73%
  |                                                                                                                   
  |================================================================================                             |  74%
  |                                                                                                                   
  |=================================================================================                            |  74%
  |                                                                                                                   
  |=================================================================================                            |  75%
  |                                                                                                                   
  |==================================================================================                           |  75%
  |                                                                                                                   
  |==================================================================================                           |  76%
  |                                                                                                                   
  |===================================================================================                          |  76%
  |                                                                                                                   
  |===================================================================================                          |  77%
  |                                                                                                                   
  |====================================================================================                         |  77%
  |                                                                                                                   
  |====================================================================================                         |  78%
  |                                                                                                                   
  |=====================================================================================                        |  78%
  |                                                                                                                   
  |======================================================================================                       |  78%
  |                                                                                                                   
  |======================================================================================                       |  79%
  |                                                                                                                   
  |=======================================================================================                      |  79%
  |                                                                                                                   
  |=======================================================================================                      |  80%
  |                                                                                                                   
  |========================================================================================                     |  80%
  |                                                                                                                   
  |========================================================================================                     |  81%
  |                                                                                                                   
  |=========================================================================================                    |  81%
  |                                                                                                                   
  |=========================================================================================                    |  82%
  |                                                                                                                   
  |==========================================================================================                   |  82%
  |                                                                                                                   
  |==========================================================================================                   |  83%
  |                                                                                                                   
  |===========================================================================================                  |  83%
  |                                                                                                                   
  |===========================================================================================                  |  84%
  |                                                                                                                   
  |============================================================================================                 |  84%
  |                                                                                                                   
  |============================================================================================                 |  85%
  |                                                                                                                   
  |=============================================================================================                |  85%
  |                                                                                                                   
  |=============================================================================================                |  86%
  |                                                                                                                   
  |==============================================================================================               |  86%
  |                                                                                                                   
  |==============================================================================================               |  87%
  |                                                                                                                   
  |===============================================================================================              |  87%
  |                                                                                                                   
  |===============================================================================================              |  88%
  |                                                                                                                   
  |================================================================================================             |  88%
  |                                                                                                                   
  |================================================================================================             |  89%
  |                                                                                                                   
  |=================================================================================================            |  89%
  |                                                                                                                   
  |==================================================================================================           |  89%
  |                                                                                                                   
  |==================================================================================================           |  90%
  |                                                                                                                   
  |===================================================================================================          |  90%
  |                                                                                                                   
  |===================================================================================================          |  91%
  |                                                                                                                   
  |====================================================================================================         |  91%
  |                                                                                                                   
  |====================================================================================================         |  92%
  |                                                                                                                   
  |=====================================================================================================        |  92%
  |                                                                                                                   
  |=====================================================================================================        |  93%
  |                                                                                                                   
  |======================================================================================================       |  93%
  |                                                                                                                   
  |======================================================================================================       |  94%
  |                                                                                                                   
  |=======================================================================================================      |  94%
  |                                                                                                                   
  |=======================================================================================================      |  95%
  |                                                                                                                   
  |========================================================================================================     |  95%
  |                                                                                                                   
  |========================================================================================================     |  96%
  |                                                                                                                   
  |=========================================================================================================    |  96%
  |                                                                                                                   
  |=========================================================================================================    |  97%
  |                                                                                                                   
  |==========================================================================================================   |  97%
  |                                                                                                                   
  |==========================================================================================================   |  98%
  |                                                                                                                   
  |===========================================================================================================  |  98%
  |                                                                                                                   
  |===========================================================================================================  |  99%
  |                                                                                                                   
  |============================================================================================================ |  99%
  |                                                                                                                   
  |============================================================================================================ | 100%
  |                                                                                                                   
  |=============================================================================================================| 100%
loading from cache
require(“ensembldb”)
Warning: package ‘ensembldb’ was built under R version 4.1.1
Warning: package ‘GenomicFeatures’ was built under R version 4.1.1
Warning: package ‘AnnotationFilter’ was built under R version 4.1.1
#GRCz11.v103.EnsDb <- ah[["AH89399"]]
mypal <- pal_igv(palette = "default",alpha = 1)(30)

2. Functions

2.1 Create Seurat object

SeuratFromMatrixh5 <- function(inputdata, annotation, frag){
  # the 10x hdf5 file contains both data types
  rna_counts <- inputdata$`Gene Expression`
  atac_counts <- inputdata$Peaks
  
  seurat <- CreateSeuratObject(counts = rna_counts, assay = "RNA")
  seurat[["percent.mt"]] <- PercentageFeatureSet(seurat, pattern = "^mt-")
  
  seurat[["ATAC"]] <- CreateChromatinAssay(
    counts = atac_counts,
    sep = c(":", "-"),
    fragments = frag,
    annotation = annotation)
  
  return(seurat)
}

2.2 QC plots

GetQCplots <- function(seurat, mitoPattern){
  seurat[["percent.mt"]] <- PercentageFeatureSet(seurat, pattern = mitoPattern)
  v <- VlnPlot(seurat, features = c("nFeature_RNA", "nCount_RNA", "percent.mt"), ncol = 3)
  f1 <- FeatureScatter(seurat, feature1 = "nCount_RNA", feature2 = "percent.mt")
  f2 <- FeatureScatter(seurat, feature1 = "nFeature_RNA", feature2 = "percent.mt")
  f3 <- FeatureScatter(seurat, feature1 = "nCount_RNA", feature2 = "nFeature_RNA")
  
  qc1 <- ggplot(seurat@meta.data, aes(x=nCount_RNA, y=nFeature_RNA, color=percent.mt)) + geom_point(size=0.1) +
    scale_color_gradient(low="blue",high="red") + theme_classic()

  qc2 <- ggplot(seurat@meta.data, aes(x=nCount_RNA, y=percent.mt)) + geom_point(size=0.1) + scale_x_log10() +
    geom_density2d()

  qc3 <- ggplot(seurat@meta.data, aes(x=nCount_RNA, y=nFeature_RNA ,color=percent.mt)) + geom_point(size=0.1) +
    scale_x_log10() + scale_y_log10() + geom_density2d() +
    scale_color_gradient(low="gray",high="darkblue") + theme_classic()

  print(v)
  print(f1)
  print(f2)
  print(f3)
  print(qc1)
  print(qc2)
  print(qc3)

  return(seurat)
}
GetATACplots <- function(seurat){
  DefaultAssay(seurat) <- "ATAC"
  
  seurat <- NucleosomeSignal(seurat)
  seurat <- TSSEnrichment(seurat)
  
  v1 <- VlnPlot(
    object = seurat,
    features = "nCount_ATAC",
    pt.size = 0
  ) + NoLegend()
  v2 <- VlnPlot(
    object = seurat,
    features = "nCount_ATAC",
    y.max = 100000,
    pt.size = 0
  ) + NoLegend()
  v3 <- VlnPlot(
    object = seurat,
    features = "nCount_ATAC",
    y.max = 5000,
    pt.size = 0
  ) + NoLegend()
  
  v4 <- VlnPlot(
    object = seurat,
    features = "TSS.enrichment",
    pt.size = 0
  ) + NoLegend()
  v5 <- VlnPlot(
    object = seurat,
    features = "TSS.enrichment",
    y.max = 10,
    pt.size = 0
  ) + NoLegend()
  
  v6 <- VlnPlot(
    object = seurat,
    features = "nucleosome_signal",
    pt.size = 0
  ) + NoLegend()
  v7 <- VlnPlot(
    object = seurat,
    features = "nucleosome_signal",
    y.max = 2,
    pt.size = 0
  ) + NoLegend()

  print(v1 + v2 + v3 + plot_layout(ncol = 3))
  print(v4 + v5 + plot_layout(ncol = 2))
  print(v6 + v7 + plot_layout(ncol = 2))
  
  return(seurat)
}

2.3 Call Peaks with macs2 and filter

CreatePeaksWithFilter <- function(seurat, frag, blacklist, annotation){
  peaks <- CallPeaks(frag, macs2.path = "/Users/becky/opt/miniconda3/bin/macs2")
  len.ATAC <- length(seurat@assays$ATAC@ranges)
  len.peaks <- length(peaks)
  
  peaks <- keepStandardChromosomes(peaks, pruning.mode = "coarse")
  len.std <- length(peaks)
  peaks <- subsetByOverlaps(x = peaks, ranges = blacklist, invert = TRUE)
  len.bl <- length(peaks)
  ChrEnds <- GRanges(seqnames = annotation@seqinfo@seqnames,
                     ranges = IRanges(start = annotation@seqinfo@seqlengths - 300,
                                      end = annotation@seqinfo@seqlengths))
  ChrStarts <- GRanges(seqnames = annotation@seqinfo@seqnames,
                       ranges = IRanges(start = rep(1,26), end = rep(300,26)))
  RemoveChrEndsChrStarts <- c(ChrEnds,ChrStarts)
  peaks <- subsetByOverlaps(x = peaks, ranges = RemoveChrEndsChrStarts, invert = TRUE)
  len.rends <- length(peaks)
  
  cat("Number original ATAC-seq peaks: ",len.ATAC,"\n")
  cat("Number macs2 called ATAC-seq peaks: ",len.peaks,"\n")
  cat("Number macs2 ATAC-seq peaks with Standard Chromosomes: ",len.std,"\n")
  cat("Number macs2 ATAC-seq peaks after blacklist filter: ",len.bl,"\n")
  cat("Number macs2 ATAC-seq peaks after 300bp end filter: ",len.rends,"\n")
  
  macs2_counts <- FeatureMatrix(
    fragments = Fragments(seurat),
    features = peaks,
    cells = colnames(seurat)
  )
  
  seurat[["peaks"]] <- CreateChromatinAssay(
    counts = macs2_counts,
    fragments = frag,
    annotation = annotation,
    genome = 'GRCz11'
  )
  
  DefaultAssay(seurat) <- "peaks"
  
  seurat <- NucleosomeSignal(seurat)
  seurat <- TSSEnrichment(seurat)
  
  return(seurat)
  
}

2.4 UMAPS and clusters

GetUMAPandClusters <- function(seurat){
  # RNA analysis
  DefaultAssay(seurat) <- "RNA"
  seurat <- SCTransform(seurat, verbose = FALSE, return.only.var.genes = FALSE) 
  seurat <- RunPCA(seurat) 
  ElbowPlot(seurat,ndims = 50)
  seurat <- RunUMAP(seurat, dims = 1:50, reduction.name = 'umap.rna', reduction.key = 'rnaUMAP_')
  
  # ATAC analysis
  # We exclude the first dimension as this is typically correlated with sequencing depth
  DefaultAssay(seurat) <- "peaks"
  
  seurat <- FindTopFeatures(seurat, min.cutoff = 5)
  seurat <- RunTFIDF(seurat)
  seurat <- RunSVD(seurat)
  seurat <- RunUMAP(seurat, reduction = 'lsi', dims = 2:50, reduction.name = "umap.atac", reduction.key = "atacUMAP_")
  
  DefaultAssay(seurat) <- "SCT"
  seurat <- FindMultiModalNeighbors(seurat, reduction.list = list("pca", "lsi"), dims.list = list(1:50, 2:50))
  seurat <- RunUMAP(seurat, nn.name = "weighted.nn", reduction.name = "wnn.umap", reduction.key = "wnnUMAP_", assay = "RNA")
  seurat <- FindClusters(seurat, graph.name = "wsnn", algorithm = 3, verbose = FALSE)
  seurat <- FindClusters(seurat, graph.name = "wsnn", algorithm = 3, verbose = FALSE, resolution = 1.0)
  seurat <- FindClusters(seurat, graph.name = "wsnn", algorithm = 3, verbose = FALSE, resolution = 1.5)
  seurat <- FindClusters(seurat, graph.name = "wsnn", algorithm = 3, verbose = FALSE, resolution = 2.0)
  seurat <- FindClusters(seurat, graph.name = "wsnn", algorithm = 3, verbose = FALSE, resolution = 2.5)
  seurat <- FindClusters(seurat, graph.name = "wsnn", algorithm = 3, verbose = FALSE, resolution = 3.0)
  seurat <- FindClusters(seurat, graph.name = "wsnn", algorithm = 3, verbose = FALSE, resolution = 3.5)
  
  p1 <- DimPlot(seurat, reduction = "umap.rna", label = TRUE, label.size = 5, repel = TRUE, group.by = "wsnn_res.0.8") + ggtitle("RNA") + scale_color_igv()
  p2 <- DimPlot(seurat, reduction = "umap.atac", label = TRUE, label.size = 5, repel = TRUE, group.by = "wsnn_res.0.8") + ggtitle("ATAC") + scale_color_igv()
  p3 <- DimPlot(seurat, reduction = "wnn.umap", label = TRUE, label.size = 5, repel = TRUE, group.by = "wsnn_res.0.8") + ggtitle("WNN") + scale_color_igv()
  print(p1 + p2 + p3 & NoLegend() & theme(plot.title = element_text(hjust = 0.5)))
  
  return(seurat)
}

3 Read in data

Use same annotation for each sample

# get gene annotations for GRCz11
annotation <- GetGRangesFromEnsDb(ensdb = GRCz11.v99.EnsDb, verbose = FALSE)
seqlevelsStyle(annotation) <- "UCSC"
genome(annotation) <- "GRCz11"

3.1 Meis

inputdata.10 <- Read10X_h5("data/Meis/filtered_feature_bc_matrix.h5")
frag.file.10 <- "data/Meis/atac_fragments.tsv.gz"
Meis <- SeuratFromMatrixh5(inputdata.10, annotation, frag.file.10)
Meis
An object of class Seurat 
171915 features across 6362 samples within 2 assays 
Active assay: RNA (25108 features, 0 variable features)
 1 other assay present: ATAC

3.2 RFP

inputdata.13 <- Read10X_h5("data/RFP/filtered_feature_bc_matrix.h5")
frag.file.13 <- "data/RFP/atac_fragments.tsv.gz"
RFP <- SeuratFromMatrixh5(inputdata.13, annotation, frag.file.13)
RFP
An object of class Seurat 
172907 features across 5086 samples within 2 assays 
Active assay: RNA (25108 features, 0 variable features)
 1 other assay present: ATAC

4 QC Plots

4.1 RNA-seq QC plots

4.1.1 Meis

Meis <- GetQCplots(Meis, "^mt-")

4.1.2 RFP

RFP <- GetQCplots(RFP, "^mt-")

4.2 ATAC-seq QC plots

4.2.1 Meis

Meis <- GetATACplots(Meis)
Found 6362 cell barcodes

Done Processing 1 million lines
Done Processing 2 million lines
Done Processing 3 million lines
Done Processing 4 million lines
Done Processing 5 million lines
Done Processing 6 million lines
Done Processing 7 million lines
Done Processing 8 million lines
Done Processing 9 million lines
                                                  
Done Processing 10 million lines
Done Processing 11 million lines
Done Processing 12 million lines
Done Processing 13 million lines
Done Processing 14 million lines
Done Processing 15 million lines
Done Processing 16 million lines
Done Processing 17 million lines
Done Processing 18 million lines
Done Processing 19 million lines
                                                  
Done Processing 20 million lines
Done Processing 21 million lines
Done Processing 22 million lines
Done Processing 23 million lines
Done Processing 24 million lines
Done Processing 25 million lines
Done Processing 26 million lines
Done Processing 27 million lines
Done Processing 28 million lines
Done Processing 29 million lines
                                                  
Done Processing 30 million lines
Done Processing 31 million linesExtracting TSS positions
Extracting fragments at TSSs

  |                                                  | 0 % ~calculating  
  |++++                                              | 8 % ~03m 34s      
  |++++++++                                          | 15% ~03m 14s      
  |++++++++++++                                      | 23% ~03m 02s      
  |++++++++++++++++                                  | 31% ~02m 48s      
  |++++++++++++++++++++                              | 38% ~02m 31s      
  |++++++++++++++++++++++++                          | 46% ~02m 12s      
  |+++++++++++++++++++++++++++                       | 54% ~01m 53s      
  |+++++++++++++++++++++++++++++++                   | 62% ~01m 36s      
  |+++++++++++++++++++++++++++++++++++               | 69% ~01m 17s      
  |+++++++++++++++++++++++++++++++++++++++           | 77% ~58s          
  |+++++++++++++++++++++++++++++++++++++++++++       | 85% ~39s          
  |+++++++++++++++++++++++++++++++++++++++++++++++   | 92% ~19s          
  |++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=04m 12s

Computing TSS enrichment score
Warning: Removed 27 rows containing non-finite values (stat_ydensity).
Warning: Removed 4387 rows containing non-finite values (stat_ydensity).
Warning: Removed 21 rows containing non-finite values (stat_ydensity).
Warning: Removed 5 rows containing non-finite values (stat_ydensity).

4.2.2 RFP

RFP <- GetATACplots(RFP)
Found 5086 cell barcodes

Done Processing 1 million lines
Done Processing 2 million lines
Done Processing 3 million lines
Done Processing 4 million lines
Done Processing 5 million lines
Done Processing 6 million lines
Done Processing 7 million lines
Done Processing 8 million lines
Done Processing 9 million lines
                                                  
Done Processing 10 million lines
Done Processing 11 million lines
Done Processing 12 million lines
Done Processing 13 million lines
Done Processing 14 million lines
Done Processing 15 million lines
Done Processing 16 million lines
Done Processing 17 million lines
Done Processing 18 million lines
Done Processing 19 million lines
                                                  
Done Processing 20 million lines
Done Processing 21 million lines
Done Processing 22 million lines
Done Processing 23 million lines
Done Processing 24 million lines
Done Processing 25 million linesExtracting TSS positions
Extracting fragments at TSSs

  |                                                  | 0 % ~calculating  
  |++++                                              | 8 % ~03m 36s      
  |++++++++                                          | 15% ~03m 16s      
  |++++++++++++                                      | 23% ~03m 06s      
  |++++++++++++++++                                  | 31% ~02m 51s      
  |++++++++++++++++++++                              | 38% ~02m 35s      
  |++++++++++++++++++++++++                          | 46% ~02m 15s      
  |+++++++++++++++++++++++++++                       | 54% ~01m 56s      
  |+++++++++++++++++++++++++++++++                   | 62% ~01m 38s      
  |+++++++++++++++++++++++++++++++++++               | 69% ~01m 19s      
  |+++++++++++++++++++++++++++++++++++++++           | 77% ~60s          
  |+++++++++++++++++++++++++++++++++++++++++++       | 85% ~40s          
  |+++++++++++++++++++++++++++++++++++++++++++++++   | 92% ~20s          
  |++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=04m 21s

Computing TSS enrichment score
Warning: Removed 66 rows containing non-finite values (stat_ydensity).
Warning: Removed 3535 rows containing non-finite values (stat_ydensity).
Warning: Removed 10 rows containing non-finite values (stat_ydensity).
Warning: Removed 1 rows containing non-finite values (stat_ydensity).

5 Filter samples

5.1 Meis

cells.orig <- table(Meis@meta.data$orig.ident)[[1]]
Meis <- subset(x = Meis,
  subset = nCount_ATAC < 100000 & nCount_ATAC > 500)
cells.atac <- table(Meis@meta.data$orig.ident)[[1]]
Meis <- subset(x = Meis,
  subset = nCount_RNA < 4000 & nCount_RNA > 500)
cells.rna <- table(Meis@meta.data$orig.ident)[[1]]
Meis <- subset(x = Meis,
  subset =percent.mt < 5)
cells.mt <- table(Meis@meta.data$orig.ident)[[1]]
Meis <- subset(x = Meis,
  subset = nucleosome_signal < 2 )
cells.nuc <- table(Meis@meta.data$orig.ident)[[1]]
Meis <- subset(x = Meis,
  subset = TSS.enrichment >1)
cells.tss <- table(Meis@meta.data$orig.ident)[[1]]
cat("Meis:","\n")
Meis: 
cat("cells in original sample: ",cells.orig,"\n")
cells in original sample:  6362 
cat("cells after ATAC < 10000 & ATAC > 1000: ",cells.atac,"\n")
cells after ATAC < 10000 & ATAC > 1000:  6205 
cat("cells after RNA < 20000 and RNA > 500: ",cells.rna,"\n")
cells after RNA < 20000 and RNA > 500:  4534 
cat("cells after percent.mt < 5: ",cells.mt,"\n")
cells after percent.mt < 5:  4308 
cat("cells after nucleosome < 2: ",cells.nuc,"\n")
cells after nucleosome < 2:  4307 
cat("cells after TSS enrichment > 1",cells.tss,"\n")
cells after TSS enrichment > 1 4307 

5.2 RFP

cells.orig <- table(RFP@meta.data$orig.ident)[[1]]
RFP <- subset(x = RFP,
  subset = nCount_ATAC < 100000 & nCount_ATAC > 500)
cells.atac <- table(RFP@meta.data$orig.ident)[[1]]
RFP <- subset(x = RFP,
  subset = nCount_RNA < 4000 & nCount_RNA > 500)
cells.rna <- table(RFP@meta.data$orig.ident)[[1]]
RFP <- subset(x = RFP,
  subset =percent.mt < 5)
cells.mt <- table(RFP@meta.data$orig.ident)[[1]]
RFP <- subset(x = RFP,
  subset = nucleosome_signal < 2 )
cells.nuc <- table(RFP@meta.data$orig.ident)[[1]]
RFP <- subset(x = RFP,
  subset = TSS.enrichment >1)
cells.tss <- table(RFP@meta.data$orig.ident)[[1]]
cat("RFP:","\n")
RFP: 
cat("cells in original sample: ",cells.orig,"\n")
cells in original sample:  5086 
cat("cells after ATAC < 10000 & ATAC > 1000: ",cells.atac,"\n")
cells after ATAC < 10000 & ATAC > 1000:  4929 
cat("cells after RNA < 20000 and RNA > 500: ",cells.rna,"\n")
cells after RNA < 20000 and RNA > 500:  3379 
cat("cells after percent.mt < 5: ",cells.mt,"\n")
cells after percent.mt < 5:  3266 
cat("cells after nucleosome < 2: ",cells.nuc,"\n")
cells after nucleosome < 2:  3266 
cat("cells after TSS enrichment > 1",cells.tss,"\n")
cells after TSS enrichment > 1 3266 

6 Peak calling

Per recommendation from Signac tutorial call ATAC peaks with macs2 and put in assay “peaks”

GRCz11.blacklist

Found GRCz10 blacklist in Yang, H., Luan, Y., Liu, T. et al. A map of cis-regulatory elements and 3D genome structures in zebrafish. Nature 588, 337–343 (2020). https://doi.org/10.1038/s41586-020-2962-9 Supplementary table 19: Supplemental Table 19. ChIP-seq black list in the zebrafish genome.xlsx

### code used to generate blacklist
# library(readxl)
# library(GenomicRanges)
# library(plyranges)
# GRCz10.blacklist <- read_excel("Supplemental_Table_19_ChIPseq_black_list_in_the_zebrafish_genome.xlsx", col_names = F)
# names(GRCz10.blacklist) <- c("seqnames","start","end")
# head(GRCz10.blacklist)
# GRCz10.blacklist <- as_granges(GRCz10.blacklist)
# head(GRCz10.blacklist)
# chain <- import.chain("danRer10ToDanRer11.over.chain")
# seqlevelsStyle(GRCz10.blacklist) = "UCSC"  # necessary
# GRCz11.blacklist = liftOver(GRCz10.blacklist, chain)
# class(GRCz11.blacklist)
# GRCz11.blacklist = unlist(GRCz11.blacklist)
# genome(GRCz11.blacklist) = "GRCz11"
# GRCz11.blacklist
# saveRDS(GRCz11.blacklist, file = "GRCz11.blacklist.granges.RDS")
GRCz11.blacklist <- readRDS(file = "~/Documents/Projects/R_General/GRCz11.blacklist.granges.RDS")

Call peaks with macs2 and filter with blacklist and filter out peaks in 300bp start and end of each chromosome which causes errors in Signac in downstream analyses

6.1 Meis

Meis <- CreatePeaksWithFilter(Meis, frag.file.10, GRCz11.blacklist, annotation)
INFO  @ Wed, 28 Sep 2022 09:24:39: 
# Command line: callpeak -t data/Meis/atac_fragments.tsv.gz -g 2.7e+09 -f BED --nomodel --extsize 200 --shift -100 -n macs2 --outdir /var/folders/pz/z8hs91417hl_gzxjrv4pmvyw0000gp/T//Rtmp3QvNM2
# ARGUMENTS LIST:
# name = macs2
# format = BED
# ChIP-seq file = ['data/Meis/atac_fragments.tsv.gz']
# control file = None
# effective genome size = 2.70e+09
# band width = 300
# model fold = [5, 50]
# qvalue cutoff = 5.00e-02
# The maximum gap between significant sites is assigned as the read length/tag size.
# The minimum length of peaks is assigned as the predicted fragment length "d".
# Larger dataset will be scaled towards smaller dataset.
# Range for calculating regional lambda is: 10000 bps
# Broad region calling is off
# Paired-End mode is off
 
INFO  @ Wed, 28 Sep 2022 09:24:39: #1 read tag files... 
INFO  @ Wed, 28 Sep 2022 09:24:39: #1 read treatment tags... 
INFO  @ Wed, 28 Sep 2022 09:24:40:  1000000 
INFO  @ Wed, 28 Sep 2022 09:24:41:  2000000 
INFO  @ Wed, 28 Sep 2022 09:24:42:  3000000 
INFO  @ Wed, 28 Sep 2022 09:24:43:  4000000 
INFO  @ Wed, 28 Sep 2022 09:24:44:  5000000 
INFO  @ Wed, 28 Sep 2022 09:24:45:  6000000 
INFO  @ Wed, 28 Sep 2022 09:24:46:  7000000 
INFO  @ Wed, 28 Sep 2022 09:24:47:  8000000 
INFO  @ Wed, 28 Sep 2022 09:24:48:  9000000 
INFO  @ Wed, 28 Sep 2022 09:24:49:  10000000 
INFO  @ Wed, 28 Sep 2022 09:24:50:  11000000 
INFO  @ Wed, 28 Sep 2022 09:24:51:  12000000 
INFO  @ Wed, 28 Sep 2022 09:24:52:  13000000 
INFO  @ Wed, 28 Sep 2022 09:24:53:  14000000 
INFO  @ Wed, 28 Sep 2022 09:24:54:  15000000 
INFO  @ Wed, 28 Sep 2022 09:24:55:  16000000 
INFO  @ Wed, 28 Sep 2022 09:24:56:  17000000 
INFO  @ Wed, 28 Sep 2022 09:24:57:  18000000 
INFO  @ Wed, 28 Sep 2022 09:24:58:  19000000 
INFO  @ Wed, 28 Sep 2022 09:24:59:  20000000 
INFO  @ Wed, 28 Sep 2022 09:25:00:  21000000 
INFO  @ Wed, 28 Sep 2022 09:25:01:  22000000 
INFO  @ Wed, 28 Sep 2022 09:25:02:  23000000 
INFO  @ Wed, 28 Sep 2022 09:25:03:  24000000 
INFO  @ Wed, 28 Sep 2022 09:25:04:  25000000 
INFO  @ Wed, 28 Sep 2022 09:25:05:  26000000 
INFO  @ Wed, 28 Sep 2022 09:25:06:  27000000 
INFO  @ Wed, 28 Sep 2022 09:25:07:  28000000 
INFO  @ Wed, 28 Sep 2022 09:25:08:  29000000 
INFO  @ Wed, 28 Sep 2022 09:25:09:  30000000 
INFO  @ Wed, 28 Sep 2022 09:25:10:  31000000 
INFO  @ Wed, 28 Sep 2022 09:25:11:  32000000 
INFO  @ Wed, 28 Sep 2022 09:25:12:  33000000 
INFO  @ Wed, 28 Sep 2022 09:25:13:  34000000 
INFO  @ Wed, 28 Sep 2022 09:25:14:  35000000 
INFO  @ Wed, 28 Sep 2022 09:25:15:  36000000 
INFO  @ Wed, 28 Sep 2022 09:25:16:  37000000 
INFO  @ Wed, 28 Sep 2022 09:25:17:  38000000 
INFO  @ Wed, 28 Sep 2022 09:25:18:  39000000 
INFO  @ Wed, 28 Sep 2022 09:25:19:  40000000 
INFO  @ Wed, 28 Sep 2022 09:25:20:  41000000 
INFO  @ Wed, 28 Sep 2022 09:25:21:  42000000 
INFO  @ Wed, 28 Sep 2022 09:25:22:  43000000 
INFO  @ Wed, 28 Sep 2022 09:25:23:  44000000 
INFO  @ Wed, 28 Sep 2022 09:25:24:  45000000 
INFO  @ Wed, 28 Sep 2022 09:25:25:  46000000 
INFO  @ Wed, 28 Sep 2022 09:25:26:  47000000 
INFO  @ Wed, 28 Sep 2022 09:25:27:  48000000 
INFO  @ Wed, 28 Sep 2022 09:25:28:  49000000 
INFO  @ Wed, 28 Sep 2022 09:25:29:  50000000 
INFO  @ Wed, 28 Sep 2022 09:25:30:  51000000 
INFO  @ Wed, 28 Sep 2022 09:25:31:  52000000 
INFO  @ Wed, 28 Sep 2022 09:25:32:  53000000 
INFO  @ Wed, 28 Sep 2022 09:25:33:  54000000 
INFO  @ Wed, 28 Sep 2022 09:25:34:  55000000 
INFO  @ Wed, 28 Sep 2022 09:25:35:  56000000 
INFO  @ Wed, 28 Sep 2022 09:25:36:  57000000 
INFO  @ Wed, 28 Sep 2022 09:25:37:  58000000 
INFO  @ Wed, 28 Sep 2022 09:25:38:  59000000 
INFO  @ Wed, 28 Sep 2022 09:25:39:  60000000 
INFO  @ Wed, 28 Sep 2022 09:25:40:  61000000 
INFO  @ Wed, 28 Sep 2022 09:25:41:  62000000 
INFO  @ Wed, 28 Sep 2022 09:25:42:  63000000 
INFO  @ Wed, 28 Sep 2022 09:25:43:  64000000 
INFO  @ Wed, 28 Sep 2022 09:25:44:  65000000 
INFO  @ Wed, 28 Sep 2022 09:25:45:  66000000 
INFO  @ Wed, 28 Sep 2022 09:25:46:  67000000 
INFO  @ Wed, 28 Sep 2022 09:25:47:  68000000 
INFO  @ Wed, 28 Sep 2022 09:25:48:  69000000 
INFO  @ Wed, 28 Sep 2022 09:25:49:  70000000 
INFO  @ Wed, 28 Sep 2022 09:25:50:  71000000 
INFO  @ Wed, 28 Sep 2022 09:25:51:  72000000 
INFO  @ Wed, 28 Sep 2022 09:25:52:  73000000 
INFO  @ Wed, 28 Sep 2022 09:25:53:  74000000 
INFO  @ Wed, 28 Sep 2022 09:25:54:  75000000 
INFO  @ Wed, 28 Sep 2022 09:25:55:  76000000 
INFO  @ Wed, 28 Sep 2022 09:25:56:  77000000 
INFO  @ Wed, 28 Sep 2022 09:25:57:  78000000 
INFO  @ Wed, 28 Sep 2022 09:25:58:  79000000 
INFO  @ Wed, 28 Sep 2022 09:25:59:  80000000 
INFO  @ Wed, 28 Sep 2022 09:26:00:  81000000 
INFO  @ Wed, 28 Sep 2022 09:26:01:  82000000 
INFO  @ Wed, 28 Sep 2022 09:26:02:  83000000 
INFO  @ Wed, 28 Sep 2022 09:26:03:  84000000 
INFO  @ Wed, 28 Sep 2022 09:26:04:  85000000 
INFO  @ Wed, 28 Sep 2022 09:26:05:  86000000 
INFO  @ Wed, 28 Sep 2022 09:26:06:  87000000 
INFO  @ Wed, 28 Sep 2022 09:26:07:  88000000 
INFO  @ Wed, 28 Sep 2022 09:26:08:  89000000 
INFO  @ Wed, 28 Sep 2022 09:26:09:  90000000 
INFO  @ Wed, 28 Sep 2022 09:26:09:  91000000 
INFO  @ Wed, 28 Sep 2022 09:26:10:  92000000 
INFO  @ Wed, 28 Sep 2022 09:26:11:  93000000 
INFO  @ Wed, 28 Sep 2022 09:26:12:  94000000 
INFO  @ Wed, 28 Sep 2022 09:26:13:  95000000 
INFO  @ Wed, 28 Sep 2022 09:26:14:  96000000 
INFO  @ Wed, 28 Sep 2022 09:26:15:  97000000 
INFO  @ Wed, 28 Sep 2022 09:26:16:  98000000 
INFO  @ Wed, 28 Sep 2022 09:26:17:  99000000 
INFO  @ Wed, 28 Sep 2022 09:26:18:  100000000 
INFO  @ Wed, 28 Sep 2022 09:26:19:  101000000 
INFO  @ Wed, 28 Sep 2022 09:26:20:  102000000 
INFO  @ Wed, 28 Sep 2022 09:26:21:  103000000 
INFO  @ Wed, 28 Sep 2022 09:26:22:  104000000 
INFO  @ Wed, 28 Sep 2022 09:26:23:  105000000 
INFO  @ Wed, 28 Sep 2022 09:26:25: #1 tag size is determined as 246 bps 
INFO  @ Wed, 28 Sep 2022 09:26:25: #1 tag size = 246.0 
INFO  @ Wed, 28 Sep 2022 09:26:25: #1  total tags in treatment: 105739050 
INFO  @ Wed, 28 Sep 2022 09:26:25: #1 user defined the maximum tags... 
INFO  @ Wed, 28 Sep 2022 09:26:25: #1 filter out redundant tags at the same location and the same strand by allowing at most 1 tag(s) 
INFO  @ Wed, 28 Sep 2022 09:26:25: #1  tags after filtering in treatment: 58368321 
INFO  @ Wed, 28 Sep 2022 09:26:25: #1  Redundant rate of treatment: 0.45 
INFO  @ Wed, 28 Sep 2022 09:26:25: #1 finished! 
INFO  @ Wed, 28 Sep 2022 09:26:25: #2 Build Peak Model... 
INFO  @ Wed, 28 Sep 2022 09:26:25: #2 Skipped... 
INFO  @ Wed, 28 Sep 2022 09:26:25: #2 Use 200 as fragment length 
INFO  @ Wed, 28 Sep 2022 09:26:25: #2 Sequencing ends will be shifted towards 5' by 100 bp(s) 
INFO  @ Wed, 28 Sep 2022 09:26:25: #3 Call peaks... 
INFO  @ Wed, 28 Sep 2022 09:26:25: #3 Pre-compute pvalue-qvalue table... 
INFO  @ Wed, 28 Sep 2022 09:28:10: #3 Call peaks for each chromosome... 
INFO  @ Wed, 28 Sep 2022 09:29:30: #4 Write output xls file... /var/folders/pz/z8hs91417hl_gzxjrv4pmvyw0000gp/T//Rtmp3QvNM2/macs2_peaks.xls 
INFO  @ Wed, 28 Sep 2022 09:29:30: #4 Write peak in narrowPeak format file... /var/folders/pz/z8hs91417hl_gzxjrv4pmvyw0000gp/T//Rtmp3QvNM2/macs2_peaks.narrowPeak 
INFO  @ Wed, 28 Sep 2022 09:29:31: #4 Write summits bed file... /var/folders/pz/z8hs91417hl_gzxjrv4pmvyw0000gp/T//Rtmp3QvNM2/macs2_summits.bed 
INFO  @ Wed, 28 Sep 2022 09:29:31: Done! 
Number original ATAC-seq peaks:  146807 
Number macs2 called ATAC-seq peaks:  281060 
Number macs2 ATAC-seq peaks with Standard Chromosomes:  281059 
Number macs2 ATAC-seq peaks after blacklist filter:  280303 
Number macs2 ATAC-seq peaks after 300bp end filter:  280286 
Extracting reads overlapping genomic regions

  |                                                  | 0 % ~calculating  
  |+                                                 | 1 % ~12m 19s      
  |++                                                | 3 % ~11m 46s      
  |+++                                               | 4 % ~11m 50s      
  |+++                                               | 6 % ~11m 26s      
  |++++                                              | 7 % ~11m 14s      
  |+++++                                             | 8 % ~11m 07s      
  |+++++                                             | 10% ~10m 58s      
  |++++++                                            | 11% ~10m 46s      
  |+++++++                                           | 13% ~10m 28s      
  |++++++++                                          | 14% ~10m 19s      
  |++++++++                                          | 15% ~10m 10s      
  |+++++++++                                         | 17% ~10m 03s      
  |++++++++++                                        | 18% ~09m 54s      
  |++++++++++                                        | 20% ~09m 45s      
  |+++++++++++                                       | 21% ~09m 34s      
  |++++++++++++                                      | 23% ~09m 25s      
  |++++++++++++                                      | 24% ~09m 14s      
  |+++++++++++++                                     | 25% ~09m 04s      
  |++++++++++++++                                    | 27% ~08m 53s      
  |+++++++++++++++                                   | 28% ~08m 42s      
  |+++++++++++++++                                   | 30% ~08m 32s      
  |++++++++++++++++                                  | 31% ~08m 21s      
  |+++++++++++++++++                                 | 32% ~08m 11s      
  |+++++++++++++++++                                 | 34% ~08m 01s      
  |++++++++++++++++++                                | 35% ~07m 52s      
  |+++++++++++++++++++                               | 37% ~07m 42s      
  |++++++++++++++++++++                              | 38% ~07m 31s      
  |++++++++++++++++++++                              | 39% ~07m 21s      
  |+++++++++++++++++++++                             | 41% ~07m 12s      
  |++++++++++++++++++++++                            | 42% ~07m 02s      
  |++++++++++++++++++++++                            | 44% ~06m 52s      
  |+++++++++++++++++++++++                           | 45% ~06m 41s      
  |++++++++++++++++++++++++                          | 46% ~06m 32s      
  |++++++++++++++++++++++++                          | 48% ~06m 21s      
  |+++++++++++++++++++++++++                         | 49% ~06m 11s      
  |++++++++++++++++++++++++++                        | 51% ~06m 01s      
  |+++++++++++++++++++++++++++                       | 52% ~05m 50s      
  |+++++++++++++++++++++++++++                       | 54% ~05m 40s      
  |++++++++++++++++++++++++++++                      | 55% ~05m 30s      
  |+++++++++++++++++++++++++++++                     | 56% ~05m 21s      
  |+++++++++++++++++++++++++++++                     | 58% ~05m 10s      
  |++++++++++++++++++++++++++++++                    | 59% ~04m 60s      
  |+++++++++++++++++++++++++++++++                   | 61% ~04m 50s      
  |+++++++++++++++++++++++++++++++                   | 62% ~04m 40s      
  |++++++++++++++++++++++++++++++++                  | 63% ~04m 29s      
  |+++++++++++++++++++++++++++++++++                 | 65% ~04m 19s      
  |++++++++++++++++++++++++++++++++++                | 66% ~04m 09s      
  |++++++++++++++++++++++++++++++++++                | 68% ~03m 58s      
  |+++++++++++++++++++++++++++++++++++               | 69% ~03m 48s      
  |++++++++++++++++++++++++++++++++++++              | 70% ~03m 38s      
  |++++++++++++++++++++++++++++++++++++              | 72% ~03m 27s      
  |+++++++++++++++++++++++++++++++++++++             | 73% ~03m 17s      
  |++++++++++++++++++++++++++++++++++++++            | 75% ~03m 07s      
  |+++++++++++++++++++++++++++++++++++++++           | 76% ~02m 56s      
  |+++++++++++++++++++++++++++++++++++++++           | 77% ~02m 45s      
  |++++++++++++++++++++++++++++++++++++++++          | 79% ~02m 35s      
  |+++++++++++++++++++++++++++++++++++++++++         | 80% ~02m 24s      
  |+++++++++++++++++++++++++++++++++++++++++         | 82% ~02m 14s      
  |++++++++++++++++++++++++++++++++++++++++++        | 83% ~02m 04s      
  |+++++++++++++++++++++++++++++++++++++++++++       | 85% ~01m 53s      
  |+++++++++++++++++++++++++++++++++++++++++++       | 86% ~01m 43s      
  |++++++++++++++++++++++++++++++++++++++++++++      | 87% ~01m 33s      
  |+++++++++++++++++++++++++++++++++++++++++++++     | 89% ~01m 23s      
  |++++++++++++++++++++++++++++++++++++++++++++++    | 90% ~01m 12s      
  |++++++++++++++++++++++++++++++++++++++++++++++    | 92% ~01m 02s      
  |+++++++++++++++++++++++++++++++++++++++++++++++   | 93% ~52s          
  |++++++++++++++++++++++++++++++++++++++++++++++++  | 94% ~41s          
  |++++++++++++++++++++++++++++++++++++++++++++++++  | 96% ~31s          
  |+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~21s          
  |++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~10s          
  |++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=12m 05s
Computing hash
Checking for 4307 cell barcodes
Found 4307 cell barcodes

Done Processing 1 million lines
Done Processing 2 million lines
Done Processing 3 million lines
Done Processing 4 million lines
Done Processing 5 million lines
Done Processing 6 million lines
Done Processing 7 million lines
Done Processing 8 million lines
Done Processing 9 million lines
                                                  
Done Processing 10 million lines
Done Processing 11 million lines
Done Processing 12 million lines
Done Processing 13 million lines
Done Processing 14 million lines
Done Processing 15 million lines
Done Processing 16 million lines
Done Processing 17 million lines
Done Processing 18 million lines
Done Processing 19 million lines
                                                  
Done Processing 20 million lines
Done Processing 21 million linesExtracting TSS positions
Extracting fragments at TSSs

  |                                                  | 0 % ~calculating  
  |++++                                              | 8 % ~03m 34s      
  |++++++++                                          | 15% ~03m 14s      
  |++++++++++++                                      | 23% ~03m 05s      
  |++++++++++++++++                                  | 31% ~02m 49s      
  |++++++++++++++++++++                              | 38% ~02m 31s      
  |++++++++++++++++++++++++                          | 46% ~02m 12s      
  |+++++++++++++++++++++++++++                       | 54% ~01m 53s      
  |+++++++++++++++++++++++++++++++                   | 62% ~01m 35s      
  |+++++++++++++++++++++++++++++++++++               | 69% ~01m 16s      
  |+++++++++++++++++++++++++++++++++++++++           | 77% ~58s          
  |+++++++++++++++++++++++++++++++++++++++++++       | 85% ~38s          
  |+++++++++++++++++++++++++++++++++++++++++++++++   | 92% ~19s          
  |++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=04m 10s

Computing TSS enrichment score

6.2 RFP

RFP <- CreatePeaksWithFilter(RFP, frag.file.13, GRCz11.blacklist, annotation)
INFO  @ Wed, 28 Sep 2022 09:46:29: 
# Command line: callpeak -t data/RFP/atac_fragments.tsv.gz -g 2.7e+09 -f BED --nomodel --extsize 200 --shift -100 -n macs2 --outdir /var/folders/pz/z8hs91417hl_gzxjrv4pmvyw0000gp/T//Rtmp3QvNM2
# ARGUMENTS LIST:
# name = macs2
# format = BED
# ChIP-seq file = ['data/RFP/atac_fragments.tsv.gz']
# control file = None
# effective genome size = 2.70e+09
# band width = 300
# model fold = [5, 50]
# qvalue cutoff = 5.00e-02
# The maximum gap between significant sites is assigned as the read length/tag size.
# The minimum length of peaks is assigned as the predicted fragment length "d".
# Larger dataset will be scaled towards smaller dataset.
# Range for calculating regional lambda is: 10000 bps
# Broad region calling is off
# Paired-End mode is off
 
INFO  @ Wed, 28 Sep 2022 09:46:29: #1 read tag files... 
INFO  @ Wed, 28 Sep 2022 09:46:29: #1 read treatment tags... 
INFO  @ Wed, 28 Sep 2022 09:46:30:  1000000 
INFO  @ Wed, 28 Sep 2022 09:46:31:  2000000 
INFO  @ Wed, 28 Sep 2022 09:46:32:  3000000 
INFO  @ Wed, 28 Sep 2022 09:46:33:  4000000 
INFO  @ Wed, 28 Sep 2022 09:46:34:  5000000 
INFO  @ Wed, 28 Sep 2022 09:46:35:  6000000 
INFO  @ Wed, 28 Sep 2022 09:46:36:  7000000 
INFO  @ Wed, 28 Sep 2022 09:46:37:  8000000 
INFO  @ Wed, 28 Sep 2022 09:46:38:  9000000 
INFO  @ Wed, 28 Sep 2022 09:46:39:  10000000 
INFO  @ Wed, 28 Sep 2022 09:46:40:  11000000 
INFO  @ Wed, 28 Sep 2022 09:46:41:  12000000 
INFO  @ Wed, 28 Sep 2022 09:46:42:  13000000 
INFO  @ Wed, 28 Sep 2022 09:46:43:  14000000 
INFO  @ Wed, 28 Sep 2022 09:46:44:  15000000 
INFO  @ Wed, 28 Sep 2022 09:46:45:  16000000 
INFO  @ Wed, 28 Sep 2022 09:46:46:  17000000 
INFO  @ Wed, 28 Sep 2022 09:46:47:  18000000 
INFO  @ Wed, 28 Sep 2022 09:46:48:  19000000 
INFO  @ Wed, 28 Sep 2022 09:46:49:  20000000 
INFO  @ Wed, 28 Sep 2022 09:46:50:  21000000 
INFO  @ Wed, 28 Sep 2022 09:46:51:  22000000 
INFO  @ Wed, 28 Sep 2022 09:46:52:  23000000 
INFO  @ Wed, 28 Sep 2022 09:46:53:  24000000 
INFO  @ Wed, 28 Sep 2022 09:46:54:  25000000 
INFO  @ Wed, 28 Sep 2022 09:46:55:  26000000 
INFO  @ Wed, 28 Sep 2022 09:46:56:  27000000 
INFO  @ Wed, 28 Sep 2022 09:46:57:  28000000 
INFO  @ Wed, 28 Sep 2022 09:46:58:  29000000 
INFO  @ Wed, 28 Sep 2022 09:46:59:  30000000 
INFO  @ Wed, 28 Sep 2022 09:47:00:  31000000 
INFO  @ Wed, 28 Sep 2022 09:47:01:  32000000 
INFO  @ Wed, 28 Sep 2022 09:47:02:  33000000 
INFO  @ Wed, 28 Sep 2022 09:47:03:  34000000 
INFO  @ Wed, 28 Sep 2022 09:47:04:  35000000 
INFO  @ Wed, 28 Sep 2022 09:47:05:  36000000 
INFO  @ Wed, 28 Sep 2022 09:47:06:  37000000 
INFO  @ Wed, 28 Sep 2022 09:47:07:  38000000 
INFO  @ Wed, 28 Sep 2022 09:47:08:  39000000 
INFO  @ Wed, 28 Sep 2022 09:47:10:  40000000 
INFO  @ Wed, 28 Sep 2022 09:47:11:  41000000 
INFO  @ Wed, 28 Sep 2022 09:47:12:  42000000 
INFO  @ Wed, 28 Sep 2022 09:47:13:  43000000 
INFO  @ Wed, 28 Sep 2022 09:47:14:  44000000 
INFO  @ Wed, 28 Sep 2022 09:47:15:  45000000 
INFO  @ Wed, 28 Sep 2022 09:47:16:  46000000 
INFO  @ Wed, 28 Sep 2022 09:47:17:  47000000 
INFO  @ Wed, 28 Sep 2022 09:47:18:  48000000 
INFO  @ Wed, 28 Sep 2022 09:47:19:  49000000 
INFO  @ Wed, 28 Sep 2022 09:47:20:  50000000 
INFO  @ Wed, 28 Sep 2022 09:47:21:  51000000 
INFO  @ Wed, 28 Sep 2022 09:47:22:  52000000 
INFO  @ Wed, 28 Sep 2022 09:47:23:  53000000 
INFO  @ Wed, 28 Sep 2022 09:47:24:  54000000 
INFO  @ Wed, 28 Sep 2022 09:47:25:  55000000 
INFO  @ Wed, 28 Sep 2022 09:47:26:  56000000 
INFO  @ Wed, 28 Sep 2022 09:47:27:  57000000 
INFO  @ Wed, 28 Sep 2022 09:47:28:  58000000 
INFO  @ Wed, 28 Sep 2022 09:47:29:  59000000 
INFO  @ Wed, 28 Sep 2022 09:47:30:  60000000 
INFO  @ Wed, 28 Sep 2022 09:47:31:  61000000 
INFO  @ Wed, 28 Sep 2022 09:47:32:  62000000 
INFO  @ Wed, 28 Sep 2022 09:47:33:  63000000 
INFO  @ Wed, 28 Sep 2022 09:47:34:  64000000 
INFO  @ Wed, 28 Sep 2022 09:47:35:  65000000 
INFO  @ Wed, 28 Sep 2022 09:47:36:  66000000 
INFO  @ Wed, 28 Sep 2022 09:47:37:  67000000 
INFO  @ Wed, 28 Sep 2022 09:47:38:  68000000 
INFO  @ Wed, 28 Sep 2022 09:47:39:  69000000 
INFO  @ Wed, 28 Sep 2022 09:47:40:  70000000 
INFO  @ Wed, 28 Sep 2022 09:47:41:  71000000 
INFO  @ Wed, 28 Sep 2022 09:47:42:  72000000 
INFO  @ Wed, 28 Sep 2022 09:47:43:  73000000 
INFO  @ Wed, 28 Sep 2022 09:47:44:  74000000 
INFO  @ Wed, 28 Sep 2022 09:47:45:  75000000 
INFO  @ Wed, 28 Sep 2022 09:47:46:  76000000 
INFO  @ Wed, 28 Sep 2022 09:47:47:  77000000 
INFO  @ Wed, 28 Sep 2022 09:47:48:  78000000 
INFO  @ Wed, 28 Sep 2022 09:47:49:  79000000 
INFO  @ Wed, 28 Sep 2022 09:47:50:  80000000 
INFO  @ Wed, 28 Sep 2022 09:47:51:  81000000 
INFO  @ Wed, 28 Sep 2022 09:47:52:  82000000 
INFO  @ Wed, 28 Sep 2022 09:47:53:  83000000 
INFO  @ Wed, 28 Sep 2022 09:47:54:  84000000 
INFO  @ Wed, 28 Sep 2022 09:47:55:  85000000 
INFO  @ Wed, 28 Sep 2022 09:47:56:  86000000 
INFO  @ Wed, 28 Sep 2022 09:47:57:  87000000 
INFO  @ Wed, 28 Sep 2022 09:47:58:  88000000 
INFO  @ Wed, 28 Sep 2022 09:47:59:  89000000 
INFO  @ Wed, 28 Sep 2022 09:48:00:  90000000 
INFO  @ Wed, 28 Sep 2022 09:48:01:  91000000 
INFO  @ Wed, 28 Sep 2022 09:48:02:  92000000 
INFO  @ Wed, 28 Sep 2022 09:48:03:  93000000 
INFO  @ Wed, 28 Sep 2022 09:48:04:  94000000 
INFO  @ Wed, 28 Sep 2022 09:48:05:  95000000 
INFO  @ Wed, 28 Sep 2022 09:48:06:  96000000 
INFO  @ Wed, 28 Sep 2022 09:48:07:  97000000 
INFO  @ Wed, 28 Sep 2022 09:48:08:  98000000 
INFO  @ Wed, 28 Sep 2022 09:48:09:  99000000 
INFO  @ Wed, 28 Sep 2022 09:48:10:  100000000 
INFO  @ Wed, 28 Sep 2022 09:48:11:  101000000 
INFO  @ Wed, 28 Sep 2022 09:48:12:  102000000 
INFO  @ Wed, 28 Sep 2022 09:48:13:  103000000 
INFO  @ Wed, 28 Sep 2022 09:48:14:  104000000 
INFO  @ Wed, 28 Sep 2022 09:48:15:  105000000 
INFO  @ Wed, 28 Sep 2022 09:48:16:  106000000 
INFO  @ Wed, 28 Sep 2022 09:48:17:  107000000 
INFO  @ Wed, 28 Sep 2022 09:48:18:  108000000 
INFO  @ Wed, 28 Sep 2022 09:48:21: #1 tag size is determined as 243 bps 
INFO  @ Wed, 28 Sep 2022 09:48:21: #1 tag size = 243.0 
INFO  @ Wed, 28 Sep 2022 09:48:21: #1  total tags in treatment: 108892811 
INFO  @ Wed, 28 Sep 2022 09:48:21: #1 user defined the maximum tags... 
INFO  @ Wed, 28 Sep 2022 09:48:21: #1 filter out redundant tags at the same location and the same strand by allowing at most 1 tag(s) 
INFO  @ Wed, 28 Sep 2022 09:48:21: #1  tags after filtering in treatment: 60238527 
INFO  @ Wed, 28 Sep 2022 09:48:21: #1  Redundant rate of treatment: 0.45 
INFO  @ Wed, 28 Sep 2022 09:48:21: #1 finished! 
INFO  @ Wed, 28 Sep 2022 09:48:21: #2 Build Peak Model... 
INFO  @ Wed, 28 Sep 2022 09:48:21: #2 Skipped... 
INFO  @ Wed, 28 Sep 2022 09:48:21: #2 Use 200 as fragment length 
INFO  @ Wed, 28 Sep 2022 09:48:21: #2 Sequencing ends will be shifted towards 5' by 100 bp(s) 
INFO  @ Wed, 28 Sep 2022 09:48:21: #3 Call peaks... 
INFO  @ Wed, 28 Sep 2022 09:48:21: #3 Pre-compute pvalue-qvalue table... 
INFO  @ Wed, 28 Sep 2022 09:50:10: #3 Call peaks for each chromosome... 
INFO  @ Wed, 28 Sep 2022 09:51:32: #4 Write output xls file... /var/folders/pz/z8hs91417hl_gzxjrv4pmvyw0000gp/T//Rtmp3QvNM2/macs2_peaks.xls 
INFO  @ Wed, 28 Sep 2022 09:51:33: #4 Write peak in narrowPeak format file... /var/folders/pz/z8hs91417hl_gzxjrv4pmvyw0000gp/T//Rtmp3QvNM2/macs2_peaks.narrowPeak 
INFO  @ Wed, 28 Sep 2022 09:51:34: #4 Write summits bed file... /var/folders/pz/z8hs91417hl_gzxjrv4pmvyw0000gp/T//Rtmp3QvNM2/macs2_summits.bed 
INFO  @ Wed, 28 Sep 2022 09:51:34: Done! 
Number original ATAC-seq peaks:  147799 
Number macs2 called ATAC-seq peaks:  273243 
Number macs2 ATAC-seq peaks with Standard Chromosomes:  273242 
Number macs2 ATAC-seq peaks after blacklist filter:  272490 
Number macs2 ATAC-seq peaks after 300bp end filter:  272474 
Extracting reads overlapping genomic regions

  |                                                  | 0 % ~calculating  
  |+                                                 | 1 % ~11m 31s      
  |++                                                | 3 % ~11m 22s      
  |+++                                               | 4 % ~11m 36s      
  |+++                                               | 6 % ~11m 24s      
  |++++                                              | 7 % ~11m 07s      
  |+++++                                             | 9 % ~11m 01s      
  |++++++                                            | 10% ~10m 51s      
  |++++++                                            | 12% ~10m 38s      
  |+++++++                                           | 13% ~10m 24s      
  |++++++++                                          | 14% ~10m 15s      
  |++++++++                                          | 16% ~10m 06s      
  |+++++++++                                         | 17% ~09m 58s      
  |++++++++++                                        | 19% ~09m 46s      
  |+++++++++++                                       | 20% ~09m 35s      
  |+++++++++++                                       | 22% ~09m 25s      
  |++++++++++++                                      | 23% ~09m 13s      
  |+++++++++++++                                     | 25% ~09m 05s      
  |++++++++++++++                                    | 26% ~08m 54s      
  |++++++++++++++                                    | 28% ~08m 43s      
  |+++++++++++++++                                   | 29% ~08m 32s      
  |++++++++++++++++                                  | 30% ~08m 22s      
  |++++++++++++++++                                  | 32% ~08m 10s      
  |+++++++++++++++++                                 | 33% ~08m 01s      
  |++++++++++++++++++                                | 35% ~07m 51s      
  |+++++++++++++++++++                               | 36% ~07m 41s      
  |+++++++++++++++++++                               | 38% ~07m 30s      
  |++++++++++++++++++++                              | 39% ~07m 20s      
  |+++++++++++++++++++++                             | 41% ~07m 10s      
  |++++++++++++++++++++++                            | 42% ~07m 01s      
  |++++++++++++++++++++++                            | 43% ~06m 50s      
  |+++++++++++++++++++++++                           | 45% ~06m 39s      
  |++++++++++++++++++++++++                          | 46% ~06m 29s      
  |++++++++++++++++++++++++                          | 48% ~06m 18s      
  |+++++++++++++++++++++++++                         | 49% ~06m 08s      
  |++++++++++++++++++++++++++                        | 51% ~05m 57s      
  |+++++++++++++++++++++++++++                       | 52% ~05m 46s      
  |+++++++++++++++++++++++++++                       | 54% ~05m 36s      
  |++++++++++++++++++++++++++++                      | 55% ~05m 26s      
  |+++++++++++++++++++++++++++++                     | 57% ~05m 16s      
  |+++++++++++++++++++++++++++++                     | 58% ~05m 06s      
  |++++++++++++++++++++++++++++++                    | 59% ~04m 55s      
  |+++++++++++++++++++++++++++++++                   | 61% ~04m 45s      
  |++++++++++++++++++++++++++++++++                  | 62% ~04m 34s      
  |++++++++++++++++++++++++++++++++                  | 64% ~04m 24s      
  |+++++++++++++++++++++++++++++++++                 | 65% ~04m 13s      
  |++++++++++++++++++++++++++++++++++                | 67% ~04m 03s      
  |+++++++++++++++++++++++++++++++++++               | 68% ~03m 52s      
  |+++++++++++++++++++++++++++++++++++               | 70% ~03m 42s      
  |++++++++++++++++++++++++++++++++++++              | 71% ~03m 31s      
  |+++++++++++++++++++++++++++++++++++++             | 72% ~03m 21s      
  |+++++++++++++++++++++++++++++++++++++             | 74% ~03m 10s      
  |++++++++++++++++++++++++++++++++++++++            | 75% ~02m 59s      
  |+++++++++++++++++++++++++++++++++++++++           | 77% ~02m 48s      
  |++++++++++++++++++++++++++++++++++++++++          | 78% ~02m 38s      
  |++++++++++++++++++++++++++++++++++++++++          | 80% ~02m 27s      
  |+++++++++++++++++++++++++++++++++++++++++         | 81% ~02m 17s      
  |++++++++++++++++++++++++++++++++++++++++++        | 83% ~02m 06s      
  |+++++++++++++++++++++++++++++++++++++++++++       | 84% ~01m 56s      
  |+++++++++++++++++++++++++++++++++++++++++++       | 86% ~01m 45s      
  |++++++++++++++++++++++++++++++++++++++++++++      | 87% ~01m 35s      
  |+++++++++++++++++++++++++++++++++++++++++++++     | 88% ~01m 24s      
  |+++++++++++++++++++++++++++++++++++++++++++++     | 90% ~01m 14s      
  |++++++++++++++++++++++++++++++++++++++++++++++    | 91% ~01m 03s      
  |+++++++++++++++++++++++++++++++++++++++++++++++   | 93% ~52s          
  |++++++++++++++++++++++++++++++++++++++++++++++++  | 94% ~42s          
  |++++++++++++++++++++++++++++++++++++++++++++++++  | 96% ~31s          
  |+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~21s          
  |++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~10s          
  |++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=11m 59s
Computing hash
Checking for 3266 cell barcodes
Found 3266 cell barcodes

Done Processing 1 million lines
Done Processing 2 million lines
Done Processing 3 million lines
Done Processing 4 million lines
Done Processing 5 million lines
Done Processing 6 million lines
Done Processing 7 million lines
Done Processing 8 million lines
Done Processing 9 million lines
                                                  
Done Processing 10 million lines
Done Processing 11 million lines
Done Processing 12 million lines
Done Processing 13 million lines
Done Processing 14 million lines
Done Processing 15 million lines
Done Processing 16 million linesExtracting TSS positions
Extracting fragments at TSSs

  |                                                  | 0 % ~calculating  
  |++++                                              | 8 % ~03m 40s      
  |++++++++                                          | 15% ~03m 18s      
  |++++++++++++                                      | 23% ~03m 07s      
  |++++++++++++++++                                  | 31% ~02m 51s      
  |++++++++++++++++++++                              | 38% ~02m 34s      
  |++++++++++++++++++++++++                          | 46% ~02m 15s      
  |+++++++++++++++++++++++++++                       | 54% ~01m 56s      
  |+++++++++++++++++++++++++++++++                   | 62% ~01m 38s      
  |+++++++++++++++++++++++++++++++++++               | 69% ~01m 19s      
  |+++++++++++++++++++++++++++++++++++++++           | 77% ~60s          
  |+++++++++++++++++++++++++++++++++++++++++++       | 85% ~40s          
  |+++++++++++++++++++++++++++++++++++++++++++++++   | 92% ~20s          
  |++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=04m 19s

Computing TSS enrichment score

7 UMAPs

7.1 Meis

Meis <- GetUMAPandClusters(Meis)

2,8,14,4,20,21,25,23,15,13,3,6,12,14,10

7.2 RFP

RFP <- GetUMAPandClusters(RFP)

8 Add Motifs

JASPAR2020 motif matrix

# Get a list of motif position frequency matrices from the JASPAR database
pfm <- getMatrixSet(
  x = JASPAR2020,
  opts = list(collection="CORE", all_versions = FALSE)
)

8.1 Meis

DefaultAssay(Meis) <- "peaks"
Meis <- RegionStats(Meis, genome = BSgenome.Drerio.UCSC.danRer11, assay = "peaks")

Meis <- AddMotifs(
  object = Meis,
  genome = BSgenome.Drerio.UCSC.danRer11,
  pfm = pfm
)

8.2 RFP

DefaultAssay(RFP) <- "peaks"
RFP <- RegionStats(RFP, genome = BSgenome.Drerio.UCSC.danRer11, assay = "peaks")

RFP <- AddMotifs(
  object = RFP,
  genome = BSgenome.Drerio.UCSC.danRer11,
  pfm = pfm
)

9 Save processed files

saveRDS(Meis, file = "RDSfiles/Meis.clustered.RDS")
saveRDS(RFP, file = "RDSfiles/RFP.clustered.RDS")

#10 Neural subset

Based on cluster ID’s and UMAP from /scRNAseq_ATACseq_Meis/First_analysis_no_MEISplasmid/Proc_Individual_Samples/RFP_Annotate_Clusters.nb.html: neural clusters for RFP are: 14, 2, 3, 9,15, 21, 12, 0, 6

Did not annotate Meis clusters because had realized that Meis-injection had failed. Based on UMAP structure, neural clusters for Meis are: 2,8,14,4,20,21,25,23,15,13,3,6,12,14,10

10.1 Meis

Idents(Meis) <- "wsnn_res.0.8"
Meis.neural <- subset(Meis, idents = c("2","8","14","4","20","21","25","23","11","15","13","3","6","12","14","10"))
DimPlot(Meis.neural, reduction = "wnn.umap")

saveRDS(Meis.neural, file = "RDSfiles/Meis.neural.subset.RDS")

10.2 RFP

Idents(RFP) <- "wsnn_res.0.8"
RFP.neural <- subset(RFP, idents = c("14","2","3","9","15","21","12","0","6"))
DimPlot(RFP.neural, reduction = "wnn.umap")

saveRDS(RFP.neural, file = "RDSfiles/RFP.neural.subset.RDS")
sessionInfo()
R version 4.1.0 (2021-05-18)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS 12.3

Matrix products: default
LAPACK: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats4    stats     graphics  grDevices datasets  utils     methods   base     

other attached packages:
 [1] ensembldb_2.18.0                    AnnotationFilter_1.18.0             GenomicFeatures_1.46.1             
 [4] motifmatchr_1.16.0                  TFBSTools_1.32.0                    JASPAR2020_0.99.10                 
 [7] patchwork_1.1.1                     reticulate_1.22                     AnnotationHub_3.2.0                
[10] BiocFileCache_2.2.0                 dbplyr_2.1.1                        limma_3.50.3                       
[13] ggsci_2.9                           ggplot2_3.3.5                       Signac_1.2.1                       
[16] BSgenome.Drerio.UCSC.danRer11_1.4.2 BSgenome_1.62.0                     rtracklayer_1.54.0                 
[19] Biostrings_2.62.0                   XVector_0.34.0                      GenomicRanges_1.46.0               
[22] GenomeInfoDb_1.30.0                 org.Dr.eg.db_3.14.0                 AnnotationDbi_1.56.1               
[25] IRanges_2.28.0                      S4Vectors_0.32.4                    Biobase_2.54.0                     
[28] BiocGenerics_0.40.0                 dplyr_1.0.7                         SeuratObject_4.0.4                 
[31] Seurat_4.0.1                       

loaded via a namespace (and not attached):
  [1] rappdirs_0.3.3                SnowballC_0.7.0               scattermore_0.7              
  [4] R.methodsS3_1.8.1             tidyr_1.1.4                   bit64_4.0.5                  
  [7] knitr_1.36                    irlba_2.3.3                   DelayedArray_0.20.0          
 [10] R.utils_2.11.0                data.table_1.14.2             rpart_4.1-15                 
 [13] KEGGREST_1.34.0               RCurl_1.98-1.5                generics_0.1.1               
 [16] cowplot_1.1.1                 RSQLite_2.2.8                 RANN_2.6.1                   
 [19] future_1.26.1                 bit_4.0.4                     tzdb_0.2.0                   
 [22] spatstat.data_2.1-0           xml2_1.3.2                    httpuv_1.6.3                 
 [25] isoband_0.2.5                 SummarizedExperiment_1.24.0   assertthat_0.2.1             
 [28] DirichletMultinomial_1.36.0   xfun_0.27                     hms_1.1.1                    
 [31] jquerylib_0.1.4               evaluate_0.14                 promises_1.2.0.1             
 [34] fansi_0.5.0                   restfulr_0.0.13               progress_1.2.2               
 [37] caTools_1.18.2                igraph_1.2.8                  DBI_1.1.1                    
 [40] htmlwidgets_1.5.4             sparsesvd_0.2                 spatstat.geom_2.3-0          
 [43] purrr_0.3.4                   ellipsis_0.3.2                RSpectra_0.16-0              
 [46] backports_1.3.0               annotate_1.72.0               biomaRt_2.50.0               
 [49] deldir_1.0-6                  MatrixGenerics_1.6.0          vctrs_0.4.1                  
 [52] ROCR_1.0-11                   abind_1.4-5                   cachem_1.0.6                 
 [55] withr_2.4.2                   ggforce_0.3.3                 checkmate_2.0.0              
 [58] sctransform_0.3.3             GenomicAlignments_1.30.0      prettyunits_1.1.1            
 [61] goftest_1.2-3                 cluster_2.1.2                 lazyeval_0.2.2               
 [64] seqLogo_1.60.0                crayon_1.4.2                  hdf5r_1.3.4                  
 [67] labeling_0.4.2                pkgconfig_2.0.3               slam_0.1-48                  
 [70] tweenr_1.0.2                  nlme_3.1-153                  ProtGenerics_1.26.0          
 [73] nnet_7.3-16                   rlang_1.0.3                   globals_0.15.1               
 [76] lifecycle_1.0.1               miniUI_0.1.1.1                filelock_1.0.2               
 [79] dichromat_2.0-0               polyclip_1.10-0               matrixStats_0.61.0           
 [82] lmtest_0.9-38                 Matrix_1.3-4                  ggseqlogo_0.1                
 [85] zoo_1.8-9                     base64enc_0.1-3               ggridges_0.5.3               
 [88] png_0.1-7                     viridisLite_0.4.0             rjson_0.2.20                 
 [91] bitops_1.0-7                  R.oo_1.24.0                   KernSmooth_2.23-20           
 [94] blob_1.2.2                    stringr_1.4.0                 parallelly_1.32.0            
 [97] jpeg_0.1-9                    readr_2.0.2                   CNEr_1.30.0                  
[100] scales_1.1.1                  memoise_2.0.0                 magrittr_2.0.1               
[103] plyr_1.8.6                    ica_1.0-2                     zlibbioc_1.40.0              
[106] compiler_4.1.0                BiocIO_1.4.0                  RColorBrewer_1.1-2           
[109] fitdistrplus_1.1-6            Rsamtools_2.10.0              cli_3.3.0                    
[112] listenv_0.8.0                 pbapply_1.5-0                 htmlTable_2.3.0              
[115] Formula_1.2-4                 MASS_7.3-54                   mgcv_1.8-38                  
[118] tidyselect_1.1.1              stringi_1.7.5                 yaml_2.2.1                   
[121] latticeExtra_0.6-29           ggrepel_0.9.1                 grid_4.1.0                   
[124] VariantAnnotation_1.40.0      sass_0.4.0                    fastmatch_1.1-3              
[127] tools_4.1.0                   future.apply_1.8.1            parallel_4.1.0               
[130] rstudioapi_0.13               TFMPvalue_0.0.8               foreign_0.8-81               
[133] lsa_0.73.2                    gridExtra_2.3                 farver_2.1.0                 
[136] Rtsne_0.15                    digest_0.6.28                 BiocManager_1.30.16          
[139] shiny_1.7.1                   pracma_2.3.3                  qlcMatrix_0.9.7              
[142] Rcpp_1.0.7                    BiocVersion_3.14.0            later_1.3.0                  
[145] RcppAnnoy_0.0.19              httr_1.4.2                    biovizBase_1.42.0            
[148] colorspace_2.0-2              XML_3.99-0.8                  tensor_1.5                   
[151] splines_4.1.0                 uwot_0.1.10                   RcppRoll_0.3.0               
[154] spatstat.utils_2.2-0          renv_0.15.5                   plotly_4.10.0                
[157] xtable_1.8-4                  jsonlite_1.7.2                poweRlaw_0.70.6              
[160] R6_2.5.1                      Hmisc_4.6-0                   pillar_1.6.4                 
[163] htmltools_0.5.2               mime_0.12                     glue_1.6.2                   
[166] fastmap_1.1.0                 BiocParallel_1.28.0           interactiveDisplayBase_1.32.0
[169] codetools_0.2-18              utf8_1.2.2                    lattice_0.20-45              
[172] bslib_0.3.1                   spatstat.sparse_2.0-0         tibble_3.1.6                 
[175] curl_4.3.2                    leiden_0.3.9                  gtools_3.9.2                 
[178] GO.db_3.14.0                  survival_3.2-13               rmarkdown_2.11               
[181] docopt_0.7.1                  munsell_0.5.0                 GenomeInfoDbData_1.2.7       
[184] reshape2_1.4.4                gtable_0.3.0                  spatstat.core_2.3-0          
LS0tCnRpdGxlOiAiUHJlcHJvY2Vzc2luZyBhbmQgUUMgb2Ygc2NSTkFzZXEvQVRBQ3NlcSBzYW1wbGVzIFIgTm90ZWJvb2siCm91dHB1dDogICAKICBodG1sX25vdGVib29rOgogICAgdG9jOiBUUlVFCiAgICB0b2NfZGVwdGg6IDMKICAgIHRvY19mbG9hdDogVFJVRQotLS0KYGBge2NzcywgZWNobyA9IEZ9CmNhcHRpb24gewogICAgICBjb2xvcjogYmx1ZTsKICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgIGZvbnQtc2l6ZTogMi4wZW07CiAgICB9CmBgYAoKV2lsbCByZWFkIGluIDEwWCBHZW5vbWljcyBmaWxlcyBmcm9tIE1laXMgYW5kIFJGUCBzYW1wbGVzIGZvciBRQyBhbmFseXNpcwoKIyAxLiBMaWJyYXJpZXMsIGFubm90YXRpb24gYW5kIHBhbGV0dGUKYGBge3IsIHJlc3VsdHM9Rn0KbGlicmFyeShTZXVyYXQpCmxpYnJhcnkoZHBseXIpCmxpYnJhcnkob3JnLkRyLmVnLmRiKQpsaWJyYXJ5KEJTZ2Vub21lLkRyZXJpby5VQ1NDLmRhblJlcjExKQpsaWJyYXJ5KFNpZ25hYykKbGlicmFyeShnZ3Bsb3QyKQpsaWJyYXJ5KGdnc2NpKQpsaWJyYXJ5KGxpbW1hKQpsaWJyYXJ5KEFubm90YXRpb25IdWIpCmxpYnJhcnkocmV0aWN1bGF0ZSkKbGlicmFyeShwYXRjaHdvcmspCnVzZV9weXRob24oIi9Vc2Vycy9iZWNreS9vcHQvbWluaWNvbmRhMy9iaW4vcHl0aG9uIikKbGlicmFyeShKQVNQQVIyMDIwKQpsaWJyYXJ5KFRGQlNUb29scykKbGlicmFyeShtb3RpZm1hdGNocikKb3B0aW9ucyhmdXR1cmUuZ2xvYmFscy5tYXhTaXplID0gNDAwMCAqIDEwMjReMikKYGBgCmBgYHtyfQphaCA9IEFubm90YXRpb25IdWIoKQpHUkN6MTEudjk5LkVuc0RiID0gYWhbWyJBSDc4NzU5Il1dICAjIyAvYmVldm9sL2hvbWUvb3JvdXJrZS9nZW5vbWVzL2NlbGxyYW5nZXJfYXJjX2dlbm9tZXMvemVicmFmaXNoUGx1c0dGUCBidWlsdCBvbiBHUkN6MTEudjk5Lmd0ZgojR1JDejExLnYxMDMuRW5zRGIgPC0gYWhbWyJBSDg5Mzk5Il1dCmBgYAoKYGBge3J9Cm15cGFsIDwtIHBhbF9pZ3YocGFsZXR0ZSA9ICJkZWZhdWx0IixhbHBoYSA9IDEpKDMwKQpgYGAKCiMgMi4gRnVuY3Rpb25zCgojIyAyLjEgQ3JlYXRlIFNldXJhdCBvYmplY3QKYGBge3IsIHJlc3VsdHM9Rn0KU2V1cmF0RnJvbU1hdHJpeGg1IDwtIGZ1bmN0aW9uKGlucHV0ZGF0YSwgYW5ub3RhdGlvbiwgZnJhZyl7CiAgIyB0aGUgMTB4IGhkZjUgZmlsZSBjb250YWlucyBib3RoIGRhdGEgdHlwZXMKICBybmFfY291bnRzIDwtIGlucHV0ZGF0YSRgR2VuZSBFeHByZXNzaW9uYAogIGF0YWNfY291bnRzIDwtIGlucHV0ZGF0YSRQZWFrcwogIAogIHNldXJhdCA8LSBDcmVhdGVTZXVyYXRPYmplY3QoY291bnRzID0gcm5hX2NvdW50cywgYXNzYXkgPSAiUk5BIikKICBzZXVyYXRbWyJwZXJjZW50Lm10Il1dIDwtIFBlcmNlbnRhZ2VGZWF0dXJlU2V0KHNldXJhdCwgcGF0dGVybiA9ICJebXQtIikKICAKICBzZXVyYXRbWyJBVEFDIl1dIDwtIENyZWF0ZUNocm9tYXRpbkFzc2F5KAogICAgY291bnRzID0gYXRhY19jb3VudHMsCiAgICBzZXAgPSBjKCI6IiwgIi0iKSwKICAgIGZyYWdtZW50cyA9IGZyYWcsCiAgICBhbm5vdGF0aW9uID0gYW5ub3RhdGlvbikKICAKICByZXR1cm4oc2V1cmF0KQp9CmBgYAoKIyMgMi4yIFFDIHBsb3RzCmBgYHtyLCBmaWcuaGVpZ2h0PTUsIGZpZy53aWR0aD03ICB9CkdldFFDcGxvdHMgPC0gZnVuY3Rpb24oc2V1cmF0LCBtaXRvUGF0dGVybil7CiAgc2V1cmF0W1sicGVyY2VudC5tdCJdXSA8LSBQZXJjZW50YWdlRmVhdHVyZVNldChzZXVyYXQsIHBhdHRlcm4gPSBtaXRvUGF0dGVybikKICB2IDwtIFZsblBsb3Qoc2V1cmF0LCBmZWF0dXJlcyA9IGMoIm5GZWF0dXJlX1JOQSIsICJuQ291bnRfUk5BIiwgInBlcmNlbnQubXQiKSwgbmNvbCA9IDMpCiAgZjEgPC0gRmVhdHVyZVNjYXR0ZXIoc2V1cmF0LCBmZWF0dXJlMSA9ICJuQ291bnRfUk5BIiwgZmVhdHVyZTIgPSAicGVyY2VudC5tdCIpCiAgZjIgPC0gRmVhdHVyZVNjYXR0ZXIoc2V1cmF0LCBmZWF0dXJlMSA9ICJuRmVhdHVyZV9STkEiLCBmZWF0dXJlMiA9ICJwZXJjZW50Lm10IikKICBmMyA8LSBGZWF0dXJlU2NhdHRlcihzZXVyYXQsIGZlYXR1cmUxID0gIm5Db3VudF9STkEiLCBmZWF0dXJlMiA9ICJuRmVhdHVyZV9STkEiKQogIAogIHFjMSA8LSBnZ3Bsb3Qoc2V1cmF0QG1ldGEuZGF0YSwgYWVzKHg9bkNvdW50X1JOQSwgeT1uRmVhdHVyZV9STkEsIGNvbG9yPXBlcmNlbnQubXQpKSArIGdlb21fcG9pbnQoc2l6ZT0wLjEpICsKICAgIHNjYWxlX2NvbG9yX2dyYWRpZW50KGxvdz0iYmx1ZSIsaGlnaD0icmVkIikgKyB0aGVtZV9jbGFzc2ljKCkKCiAgcWMyIDwtIGdncGxvdChzZXVyYXRAbWV0YS5kYXRhLCBhZXMoeD1uQ291bnRfUk5BLCB5PXBlcmNlbnQubXQpKSArIGdlb21fcG9pbnQoc2l6ZT0wLjEpICsgc2NhbGVfeF9sb2cxMCgpICsKICAgIGdlb21fZGVuc2l0eTJkKCkKCiAgcWMzIDwtIGdncGxvdChzZXVyYXRAbWV0YS5kYXRhLCBhZXMoeD1uQ291bnRfUk5BLCB5PW5GZWF0dXJlX1JOQSAsY29sb3I9cGVyY2VudC5tdCkpICsgZ2VvbV9wb2ludChzaXplPTAuMSkgKwogICAgc2NhbGVfeF9sb2cxMCgpICsgc2NhbGVfeV9sb2cxMCgpICsgZ2VvbV9kZW5zaXR5MmQoKSArCiAgICBzY2FsZV9jb2xvcl9ncmFkaWVudChsb3c9ImdyYXkiLGhpZ2g9ImRhcmtibHVlIikgKyB0aGVtZV9jbGFzc2ljKCkKCiAgcHJpbnQodikKICBwcmludChmMSkKICBwcmludChmMikKICBwcmludChmMykKICBwcmludChxYzEpCiAgcHJpbnQocWMyKQogIHByaW50KHFjMykKCiAgcmV0dXJuKHNldXJhdCkKfQpgYGAKYGBge3J9CkdldEFUQUNwbG90cyA8LSBmdW5jdGlvbihzZXVyYXQpewogIERlZmF1bHRBc3NheShzZXVyYXQpIDwtICJBVEFDIgogIAogIHNldXJhdCA8LSBOdWNsZW9zb21lU2lnbmFsKHNldXJhdCkKICBzZXVyYXQgPC0gVFNTRW5yaWNobWVudChzZXVyYXQpCiAgCiAgdjEgPC0gVmxuUGxvdCgKICAgIG9iamVjdCA9IHNldXJhdCwKICAgIGZlYXR1cmVzID0gIm5Db3VudF9BVEFDIiwKICAgIHB0LnNpemUgPSAwCiAgKSArIE5vTGVnZW5kKCkKICB2MiA8LSBWbG5QbG90KAogICAgb2JqZWN0ID0gc2V1cmF0LAogICAgZmVhdHVyZXMgPSAibkNvdW50X0FUQUMiLAogICAgeS5tYXggPSAxMDAwMDAsCiAgICBwdC5zaXplID0gMAogICkgKyBOb0xlZ2VuZCgpCiAgdjMgPC0gVmxuUGxvdCgKICAgIG9iamVjdCA9IHNldXJhdCwKICAgIGZlYXR1cmVzID0gIm5Db3VudF9BVEFDIiwKICAgIHkubWF4ID0gNTAwMCwKICAgIHB0LnNpemUgPSAwCiAgKSArIE5vTGVnZW5kKCkKICAKICB2NCA8LSBWbG5QbG90KAogICAgb2JqZWN0ID0gc2V1cmF0LAogICAgZmVhdHVyZXMgPSAiVFNTLmVucmljaG1lbnQiLAogICAgcHQuc2l6ZSA9IDAKICApICsgTm9MZWdlbmQoKQogIHY1IDwtIFZsblBsb3QoCiAgICBvYmplY3QgPSBzZXVyYXQsCiAgICBmZWF0dXJlcyA9ICJUU1MuZW5yaWNobWVudCIsCiAgICB5Lm1heCA9IDEwLAogICAgcHQuc2l6ZSA9IDAKICApICsgTm9MZWdlbmQoKQogIAogIHY2IDwtIFZsblBsb3QoCiAgICBvYmplY3QgPSBzZXVyYXQsCiAgICBmZWF0dXJlcyA9ICJudWNsZW9zb21lX3NpZ25hbCIsCiAgICBwdC5zaXplID0gMAogICkgKyBOb0xlZ2VuZCgpCiAgdjcgPC0gVmxuUGxvdCgKICAgIG9iamVjdCA9IHNldXJhdCwKICAgIGZlYXR1cmVzID0gIm51Y2xlb3NvbWVfc2lnbmFsIiwKICAgIHkubWF4ID0gMiwKICAgIHB0LnNpemUgPSAwCiAgKSArIE5vTGVnZW5kKCkKCiAgcHJpbnQodjEgKyB2MiArIHYzICsgcGxvdF9sYXlvdXQobmNvbCA9IDMpKQogIHByaW50KHY0ICsgdjUgKyBwbG90X2xheW91dChuY29sID0gMikpCiAgcHJpbnQodjYgKyB2NyArIHBsb3RfbGF5b3V0KG5jb2wgPSAyKSkKICAKICByZXR1cm4oc2V1cmF0KQp9CmBgYAoKIyMgMi4zIENhbGwgUGVha3Mgd2l0aCBtYWNzMiBhbmQgZmlsdGVyCmBgYHtyfQpDcmVhdGVQZWFrc1dpdGhGaWx0ZXIgPC0gZnVuY3Rpb24oc2V1cmF0LCBmcmFnLCBibGFja2xpc3QsIGFubm90YXRpb24pewogIHBlYWtzIDwtIENhbGxQZWFrcyhmcmFnLCBtYWNzMi5wYXRoID0gIi9Vc2Vycy9iZWNreS9vcHQvbWluaWNvbmRhMy9iaW4vbWFjczIiKQogIGxlbi5BVEFDIDwtIGxlbmd0aChzZXVyYXRAYXNzYXlzJEFUQUNAcmFuZ2VzKQogIGxlbi5wZWFrcyA8LSBsZW5ndGgocGVha3MpCiAgCiAgcGVha3MgPC0ga2VlcFN0YW5kYXJkQ2hyb21vc29tZXMocGVha3MsIHBydW5pbmcubW9kZSA9ICJjb2Fyc2UiKQogIGxlbi5zdGQgPC0gbGVuZ3RoKHBlYWtzKQogIHBlYWtzIDwtIHN1YnNldEJ5T3ZlcmxhcHMoeCA9IHBlYWtzLCByYW5nZXMgPSBibGFja2xpc3QsIGludmVydCA9IFRSVUUpCiAgbGVuLmJsIDwtIGxlbmd0aChwZWFrcykKICBDaHJFbmRzIDwtIEdSYW5nZXMoc2VxbmFtZXMgPSBhbm5vdGF0aW9uQHNlcWluZm9Ac2VxbmFtZXMsCiAgICAgICAgICAgICAgICAgICAgIHJhbmdlcyA9IElSYW5nZXMoc3RhcnQgPSBhbm5vdGF0aW9uQHNlcWluZm9Ac2VxbGVuZ3RocyAtIDMwMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmQgPSBhbm5vdGF0aW9uQHNlcWluZm9Ac2VxbGVuZ3RocykpCiAgQ2hyU3RhcnRzIDwtIEdSYW5nZXMoc2VxbmFtZXMgPSBhbm5vdGF0aW9uQHNlcWluZm9Ac2VxbmFtZXMsCiAgICAgICAgICAgICAgICAgICAgICAgcmFuZ2VzID0gSVJhbmdlcyhzdGFydCA9IHJlcCgxLDI2KSwgZW5kID0gcmVwKDMwMCwyNikpKQogIFJlbW92ZUNockVuZHNDaHJTdGFydHMgPC0gYyhDaHJFbmRzLENoclN0YXJ0cykKICBwZWFrcyA8LSBzdWJzZXRCeU92ZXJsYXBzKHggPSBwZWFrcywgcmFuZ2VzID0gUmVtb3ZlQ2hyRW5kc0NoclN0YXJ0cywgaW52ZXJ0ID0gVFJVRSkKICBsZW4ucmVuZHMgPC0gbGVuZ3RoKHBlYWtzKQogIAogIGNhdCgiTnVtYmVyIG9yaWdpbmFsIEFUQUMtc2VxIHBlYWtzOiAiLGxlbi5BVEFDLCJcbiIpCiAgY2F0KCJOdW1iZXIgbWFjczIgY2FsbGVkIEFUQUMtc2VxIHBlYWtzOiAiLGxlbi5wZWFrcywiXG4iKQogIGNhdCgiTnVtYmVyIG1hY3MyIEFUQUMtc2VxIHBlYWtzIHdpdGggU3RhbmRhcmQgQ2hyb21vc29tZXM6ICIsbGVuLnN0ZCwiXG4iKQogIGNhdCgiTnVtYmVyIG1hY3MyIEFUQUMtc2VxIHBlYWtzIGFmdGVyIGJsYWNrbGlzdCBmaWx0ZXI6ICIsbGVuLmJsLCJcbiIpCiAgY2F0KCJOdW1iZXIgbWFjczIgQVRBQy1zZXEgcGVha3MgYWZ0ZXIgMzAwYnAgZW5kIGZpbHRlcjogIixsZW4ucmVuZHMsIlxuIikKICAKICBtYWNzMl9jb3VudHMgPC0gRmVhdHVyZU1hdHJpeCgKICAgIGZyYWdtZW50cyA9IEZyYWdtZW50cyhzZXVyYXQpLAogICAgZmVhdHVyZXMgPSBwZWFrcywKICAgIGNlbGxzID0gY29sbmFtZXMoc2V1cmF0KQogICkKICAKICBzZXVyYXRbWyJwZWFrcyJdXSA8LSBDcmVhdGVDaHJvbWF0aW5Bc3NheSgKICAgIGNvdW50cyA9IG1hY3MyX2NvdW50cywKICAgIGZyYWdtZW50cyA9IGZyYWcsCiAgICBhbm5vdGF0aW9uID0gYW5ub3RhdGlvbiwKICAgIGdlbm9tZSA9ICdHUkN6MTEnCiAgKQogIAogIERlZmF1bHRBc3NheShzZXVyYXQpIDwtICJwZWFrcyIKICAKICBzZXVyYXQgPC0gTnVjbGVvc29tZVNpZ25hbChzZXVyYXQpCiAgc2V1cmF0IDwtIFRTU0VucmljaG1lbnQoc2V1cmF0KQogIAogIHJldHVybihzZXVyYXQpCiAgCn0KCmBgYAoKIyMgMi40IFVNQVBTIGFuZCBjbHVzdGVycwpgYGB7ciwgcmVzdWx0cz1GLCB3YXJuaW5ncz1GLGZpZy53aWR0aD0xNSwgZmlnLmhlaWdodD01fQpHZXRVTUFQYW5kQ2x1c3RlcnMgPC0gZnVuY3Rpb24oc2V1cmF0KXsKICAjIFJOQSBhbmFseXNpcwogIERlZmF1bHRBc3NheShzZXVyYXQpIDwtICJSTkEiCiAgc2V1cmF0IDwtIFNDVHJhbnNmb3JtKHNldXJhdCwgdmVyYm9zZSA9IEZBTFNFLCByZXR1cm4ub25seS52YXIuZ2VuZXMgPSBGQUxTRSkgCiAgc2V1cmF0IDwtIFJ1blBDQShzZXVyYXQpIAogIEVsYm93UGxvdChzZXVyYXQsbmRpbXMgPSA1MCkKICBzZXVyYXQgPC0gUnVuVU1BUChzZXVyYXQsIGRpbXMgPSAxOjUwLCByZWR1Y3Rpb24ubmFtZSA9ICd1bWFwLnJuYScsIHJlZHVjdGlvbi5rZXkgPSAncm5hVU1BUF8nKQogIAogICMgQVRBQyBhbmFseXNpcwogICMgV2UgZXhjbHVkZSB0aGUgZmlyc3QgZGltZW5zaW9uIGFzIHRoaXMgaXMgdHlwaWNhbGx5IGNvcnJlbGF0ZWQgd2l0aCBzZXF1ZW5jaW5nIGRlcHRoCiAgRGVmYXVsdEFzc2F5KHNldXJhdCkgPC0gInBlYWtzIgogIAogIHNldXJhdCA8LSBGaW5kVG9wRmVhdHVyZXMoc2V1cmF0LCBtaW4uY3V0b2ZmID0gNSkKICBzZXVyYXQgPC0gUnVuVEZJREYoc2V1cmF0KQogIHNldXJhdCA8LSBSdW5TVkQoc2V1cmF0KQogIHNldXJhdCA8LSBSdW5VTUFQKHNldXJhdCwgcmVkdWN0aW9uID0gJ2xzaScsIGRpbXMgPSAyOjUwLCByZWR1Y3Rpb24ubmFtZSA9ICJ1bWFwLmF0YWMiLCByZWR1Y3Rpb24ua2V5ID0gImF0YWNVTUFQXyIpCiAgCiAgRGVmYXVsdEFzc2F5KHNldXJhdCkgPC0gIlNDVCIKICBzZXVyYXQgPC0gRmluZE11bHRpTW9kYWxOZWlnaGJvcnMoc2V1cmF0LCByZWR1Y3Rpb24ubGlzdCA9IGxpc3QoInBjYSIsICJsc2kiKSwgZGltcy5saXN0ID0gbGlzdCgxOjUwLCAyOjUwKSkKICBzZXVyYXQgPC0gUnVuVU1BUChzZXVyYXQsIG5uLm5hbWUgPSAid2VpZ2h0ZWQubm4iLCByZWR1Y3Rpb24ubmFtZSA9ICJ3bm4udW1hcCIsIHJlZHVjdGlvbi5rZXkgPSAid25uVU1BUF8iLCBhc3NheSA9ICJSTkEiKQogIHNldXJhdCA8LSBGaW5kQ2x1c3RlcnMoc2V1cmF0LCBncmFwaC5uYW1lID0gIndzbm4iLCBhbGdvcml0aG0gPSAzLCB2ZXJib3NlID0gRkFMU0UpCiAgc2V1cmF0IDwtIEZpbmRDbHVzdGVycyhzZXVyYXQsIGdyYXBoLm5hbWUgPSAid3NubiIsIGFsZ29yaXRobSA9IDMsIHZlcmJvc2UgPSBGQUxTRSwgcmVzb2x1dGlvbiA9IDEuMCkKICBzZXVyYXQgPC0gRmluZENsdXN0ZXJzKHNldXJhdCwgZ3JhcGgubmFtZSA9ICJ3c25uIiwgYWxnb3JpdGhtID0gMywgdmVyYm9zZSA9IEZBTFNFLCByZXNvbHV0aW9uID0gMS41KQogIHNldXJhdCA8LSBGaW5kQ2x1c3RlcnMoc2V1cmF0LCBncmFwaC5uYW1lID0gIndzbm4iLCBhbGdvcml0aG0gPSAzLCB2ZXJib3NlID0gRkFMU0UsIHJlc29sdXRpb24gPSAyLjApCiAgc2V1cmF0IDwtIEZpbmRDbHVzdGVycyhzZXVyYXQsIGdyYXBoLm5hbWUgPSAid3NubiIsIGFsZ29yaXRobSA9IDMsIHZlcmJvc2UgPSBGQUxTRSwgcmVzb2x1dGlvbiA9IDIuNSkKICBzZXVyYXQgPC0gRmluZENsdXN0ZXJzKHNldXJhdCwgZ3JhcGgubmFtZSA9ICJ3c25uIiwgYWxnb3JpdGhtID0gMywgdmVyYm9zZSA9IEZBTFNFLCByZXNvbHV0aW9uID0gMy4wKQogIHNldXJhdCA8LSBGaW5kQ2x1c3RlcnMoc2V1cmF0LCBncmFwaC5uYW1lID0gIndzbm4iLCBhbGdvcml0aG0gPSAzLCB2ZXJib3NlID0gRkFMU0UsIHJlc29sdXRpb24gPSAzLjUpCiAgCiAgcDEgPC0gRGltUGxvdChzZXVyYXQsIHJlZHVjdGlvbiA9ICJ1bWFwLnJuYSIsIGxhYmVsID0gVFJVRSwgbGFiZWwuc2l6ZSA9IDUsIHJlcGVsID0gVFJVRSwgZ3JvdXAuYnkgPSAid3Nubl9yZXMuMC44IikgKyBnZ3RpdGxlKCJSTkEiKSArIHNjYWxlX2NvbG9yX2lndigpCiAgcDIgPC0gRGltUGxvdChzZXVyYXQsIHJlZHVjdGlvbiA9ICJ1bWFwLmF0YWMiLCBsYWJlbCA9IFRSVUUsIGxhYmVsLnNpemUgPSA1LCByZXBlbCA9IFRSVUUsIGdyb3VwLmJ5ID0gIndzbm5fcmVzLjAuOCIpICsgZ2d0aXRsZSgiQVRBQyIpICsgc2NhbGVfY29sb3JfaWd2KCkKICBwMyA8LSBEaW1QbG90KHNldXJhdCwgcmVkdWN0aW9uID0gIndubi51bWFwIiwgbGFiZWwgPSBUUlVFLCBsYWJlbC5zaXplID0gNSwgcmVwZWwgPSBUUlVFLCBncm91cC5ieSA9ICJ3c25uX3Jlcy4wLjgiKSArIGdndGl0bGUoIldOTiIpICsgc2NhbGVfY29sb3JfaWd2KCkKICBwcmludChwMSArIHAyICsgcDMgJiBOb0xlZ2VuZCgpICYgdGhlbWUocGxvdC50aXRsZSA9IGVsZW1lbnRfdGV4dChoanVzdCA9IDAuNSkpKQogIAogIHJldHVybihzZXVyYXQpCn0KYGBgCgojIDMgUmVhZCBpbiBkYXRhClVzZSBzYW1lIGFubm90YXRpb24gZm9yIGVhY2ggc2FtcGxlCmBgYHtyLCByZXN1bHRzPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQojIGdldCBnZW5lIGFubm90YXRpb25zIGZvciBHUkN6MTEKYW5ub3RhdGlvbiA8LSBHZXRHUmFuZ2VzRnJvbUVuc0RiKGVuc2RiID0gR1JDejExLnY5OS5FbnNEYiwgdmVyYm9zZSA9IEZBTFNFKQpzZXFsZXZlbHNTdHlsZShhbm5vdGF0aW9uKSA8LSAiVUNTQyIKZ2Vub21lKGFubm90YXRpb24pIDwtICJHUkN6MTEiCmBgYAoKIyMgMy4xIE1laXMKYGBge3IsIHJlc3VsdHM9Rn0KaW5wdXRkYXRhLjEwIDwtIFJlYWQxMFhfaDUoImRhdGEvTWVpcy9maWx0ZXJlZF9mZWF0dXJlX2JjX21hdHJpeC5oNSIpCmZyYWcuZmlsZS4xMCA8LSAiZGF0YS9NZWlzL2F0YWNfZnJhZ21lbnRzLnRzdi5neiIKTWVpcyA8LSBTZXVyYXRGcm9tTWF0cml4aDUoaW5wdXRkYXRhLjEwLCBhbm5vdGF0aW9uLCBmcmFnLmZpbGUuMTApCmBgYAoKYGBge3J9Ck1laXMKYGBgCgojIyAzLjIgUkZQCmBgYHtyLCByZXN1bHRzPUZ9CmlucHV0ZGF0YS4xMyA8LSBSZWFkMTBYX2g1KCJkYXRhL1JGUC9maWx0ZXJlZF9mZWF0dXJlX2JjX21hdHJpeC5oNSIpCmZyYWcuZmlsZS4xMyA8LSAiZGF0YS9SRlAvYXRhY19mcmFnbWVudHMudHN2Lmd6IgpSRlAgPC0gU2V1cmF0RnJvbU1hdHJpeGg1KGlucHV0ZGF0YS4xMywgYW5ub3RhdGlvbiwgZnJhZy5maWxlLjEzKQpgYGAKCmBgYHtyfQpSRlAKYGBgCgojIDQgUUMgUGxvdHMKCiMjIDQuMSBSTkEtc2VxIFFDIHBsb3RzCgojIyMgNC4xLjEgTWVpcwpgYGB7cn0KTWVpcyA8LSBHZXRRQ3Bsb3RzKE1laXMsICJebXQtIikKYGBgCgojIyMgNC4xLjIgUkZQCmBgYHtyfQpSRlAgPC0gR2V0UUNwbG90cyhSRlAsICJebXQtIikKYGBgCgojIyA0LjIgQVRBQy1zZXEgUUMgcGxvdHMKCiMjIyA0LjIuMSBNZWlzCmBgYHtyfQpNZWlzIDwtIEdldEFUQUNwbG90cyhNZWlzKQpgYGAKIyMjIDQuMi4yIFJGUApgYGB7cn0KUkZQIDwtIEdldEFUQUNwbG90cyhSRlApCmBgYAoKIyA1IEZpbHRlciBzYW1wbGVzCgojIyA1LjEgTWVpcwpgYGB7cn0KY2VsbHMub3JpZyA8LSB0YWJsZShNZWlzQG1ldGEuZGF0YSRvcmlnLmlkZW50KVtbMV1dCk1laXMgPC0gc3Vic2V0KHggPSBNZWlzLAogIHN1YnNldCA9IG5Db3VudF9BVEFDIDwgMTAwMDAwICYgbkNvdW50X0FUQUMgPiA1MDApCmNlbGxzLmF0YWMgPC0gdGFibGUoTWVpc0BtZXRhLmRhdGEkb3JpZy5pZGVudClbWzFdXQpNZWlzIDwtIHN1YnNldCh4ID0gTWVpcywKICBzdWJzZXQgPSBuQ291bnRfUk5BIDwgNDAwMCAmIG5Db3VudF9STkEgPiA1MDApCmNlbGxzLnJuYSA8LSB0YWJsZShNZWlzQG1ldGEuZGF0YSRvcmlnLmlkZW50KVtbMV1dCk1laXMgPC0gc3Vic2V0KHggPSBNZWlzLAogIHN1YnNldCA9cGVyY2VudC5tdCA8IDUpCmNlbGxzLm10IDwtIHRhYmxlKE1laXNAbWV0YS5kYXRhJG9yaWcuaWRlbnQpW1sxXV0KTWVpcyA8LSBzdWJzZXQoeCA9IE1laXMsCiAgc3Vic2V0ID0gbnVjbGVvc29tZV9zaWduYWwgPCAyICkKY2VsbHMubnVjIDwtIHRhYmxlKE1laXNAbWV0YS5kYXRhJG9yaWcuaWRlbnQpW1sxXV0KTWVpcyA8LSBzdWJzZXQoeCA9IE1laXMsCiAgc3Vic2V0ID0gVFNTLmVucmljaG1lbnQgPjEpCmNlbGxzLnRzcyA8LSB0YWJsZShNZWlzQG1ldGEuZGF0YSRvcmlnLmlkZW50KVtbMV1dCmNhdCgiTWVpczoiLCJcbiIpCmNhdCgiY2VsbHMgaW4gb3JpZ2luYWwgc2FtcGxlOiAiLGNlbGxzLm9yaWcsIlxuIikKY2F0KCJjZWxscyBhZnRlciBBVEFDIDwgMTAwMDAgJiBBVEFDID4gMTAwMDogIixjZWxscy5hdGFjLCJcbiIpCmNhdCgiY2VsbHMgYWZ0ZXIgUk5BIDwgMjAwMDAgYW5kIFJOQSA+IDUwMDogIixjZWxscy5ybmEsIlxuIikKY2F0KCJjZWxscyBhZnRlciBwZXJjZW50Lm10IDwgNTogIixjZWxscy5tdCwiXG4iKQpjYXQoImNlbGxzIGFmdGVyIG51Y2xlb3NvbWUgPCAyOiAiLGNlbGxzLm51YywiXG4iKQpjYXQoImNlbGxzIGFmdGVyIFRTUyBlbnJpY2htZW50ID4gMSIsY2VsbHMudHNzLCJcbiIpCmBgYAojIyA1LjIgUkZQCmBgYHtyfQpjZWxscy5vcmlnIDwtIHRhYmxlKFJGUEBtZXRhLmRhdGEkb3JpZy5pZGVudClbWzFdXQpSRlAgPC0gc3Vic2V0KHggPSBSRlAsCiAgc3Vic2V0ID0gbkNvdW50X0FUQUMgPCAxMDAwMDAgJiBuQ291bnRfQVRBQyA+IDUwMCkKY2VsbHMuYXRhYyA8LSB0YWJsZShSRlBAbWV0YS5kYXRhJG9yaWcuaWRlbnQpW1sxXV0KUkZQIDwtIHN1YnNldCh4ID0gUkZQLAogIHN1YnNldCA9IG5Db3VudF9STkEgPCA0MDAwICYgbkNvdW50X1JOQSA+IDUwMCkKY2VsbHMucm5hIDwtIHRhYmxlKFJGUEBtZXRhLmRhdGEkb3JpZy5pZGVudClbWzFdXQpSRlAgPC0gc3Vic2V0KHggPSBSRlAsCiAgc3Vic2V0ID1wZXJjZW50Lm10IDwgNSkKY2VsbHMubXQgPC0gdGFibGUoUkZQQG1ldGEuZGF0YSRvcmlnLmlkZW50KVtbMV1dClJGUCA8LSBzdWJzZXQoeCA9IFJGUCwKICBzdWJzZXQgPSBudWNsZW9zb21lX3NpZ25hbCA8IDIgKQpjZWxscy5udWMgPC0gdGFibGUoUkZQQG1ldGEuZGF0YSRvcmlnLmlkZW50KVtbMV1dClJGUCA8LSBzdWJzZXQoeCA9IFJGUCwKICBzdWJzZXQgPSBUU1MuZW5yaWNobWVudCA+MSkKY2VsbHMudHNzIDwtIHRhYmxlKFJGUEBtZXRhLmRhdGEkb3JpZy5pZGVudClbWzFdXQpjYXQoIlJGUDoiLCJcbiIpCmNhdCgiY2VsbHMgaW4gb3JpZ2luYWwgc2FtcGxlOiAiLGNlbGxzLm9yaWcsIlxuIikKY2F0KCJjZWxscyBhZnRlciBBVEFDIDwgMTAwMDAgJiBBVEFDID4gMTAwMDogIixjZWxscy5hdGFjLCJcbiIpCmNhdCgiY2VsbHMgYWZ0ZXIgUk5BIDwgMjAwMDAgYW5kIFJOQSA+IDUwMDogIixjZWxscy5ybmEsIlxuIikKY2F0KCJjZWxscyBhZnRlciBwZXJjZW50Lm10IDwgNTogIixjZWxscy5tdCwiXG4iKQpjYXQoImNlbGxzIGFmdGVyIG51Y2xlb3NvbWUgPCAyOiAiLGNlbGxzLm51YywiXG4iKQpjYXQoImNlbGxzIGFmdGVyIFRTUyBlbnJpY2htZW50ID4gMSIsY2VsbHMudHNzLCJcbiIpCmBgYAoKIyA2IFBlYWsgY2FsbGluZwpQZXIgcmVjb21tZW5kYXRpb24gZnJvbSBTaWduYWMgdHV0b3JpYWwgY2FsbCBBVEFDIHBlYWtzIHdpdGggbWFjczIgYW5kIHB1dCBpbiBhc3NheSAicGVha3MiCgojIyMjIEdSQ3oxMS5ibGFja2xpc3QKRm91bmQgR1JDejEwIGJsYWNrbGlzdCBpbiBZYW5nLCBILiwgTHVhbiwgWS4sIExpdSwgVC4gZXQgYWwuIEEgbWFwIG9mIGNpcy1yZWd1bGF0b3J5IGVsZW1lbnRzIGFuZCAzRCBnZW5vbWUgc3RydWN0dXJlcyBpbiB6ZWJyYWZpc2guIE5hdHVyZSA1ODgsIDMzN+KAkzM0MyAoMjAyMCkuIGh0dHBzOi8vZG9pLm9yZy8xMC4xMDM4L3M0MTU4Ni0wMjAtMjk2Mi05ClN1cHBsZW1lbnRhcnkgdGFibGUgMTk6IFN1cHBsZW1lbnRhbCBUYWJsZSAxOS4gQ2hJUC1zZXEgYmxhY2sgbGlzdCBpbiB0aGUgemVicmFmaXNoIGdlbm9tZS54bHN4CmBgYHtyfQojIyMgY29kZSB1c2VkIHRvIGdlbmVyYXRlIGJsYWNrbGlzdAojIGxpYnJhcnkocmVhZHhsKQojIGxpYnJhcnkoR2Vub21pY1JhbmdlcykKIyBsaWJyYXJ5KHBseXJhbmdlcykKIyBHUkN6MTAuYmxhY2tsaXN0IDwtIHJlYWRfZXhjZWwoIlN1cHBsZW1lbnRhbF9UYWJsZV8xOV9DaElQc2VxX2JsYWNrX2xpc3RfaW5fdGhlX3plYnJhZmlzaF9nZW5vbWUueGxzeCIsIGNvbF9uYW1lcyA9IEYpCiMgbmFtZXMoR1JDejEwLmJsYWNrbGlzdCkgPC0gYygic2VxbmFtZXMiLCJzdGFydCIsImVuZCIpCiMgaGVhZChHUkN6MTAuYmxhY2tsaXN0KQojIEdSQ3oxMC5ibGFja2xpc3QgPC0gYXNfZ3JhbmdlcyhHUkN6MTAuYmxhY2tsaXN0KQojIGhlYWQoR1JDejEwLmJsYWNrbGlzdCkKIyBjaGFpbiA8LSBpbXBvcnQuY2hhaW4oImRhblJlcjEwVG9EYW5SZXIxMS5vdmVyLmNoYWluIikKIyBzZXFsZXZlbHNTdHlsZShHUkN6MTAuYmxhY2tsaXN0KSA9ICJVQ1NDIiAgIyBuZWNlc3NhcnkKIyBHUkN6MTEuYmxhY2tsaXN0ID0gbGlmdE92ZXIoR1JDejEwLmJsYWNrbGlzdCwgY2hhaW4pCiMgY2xhc3MoR1JDejExLmJsYWNrbGlzdCkKIyBHUkN6MTEuYmxhY2tsaXN0ID0gdW5saXN0KEdSQ3oxMS5ibGFja2xpc3QpCiMgZ2Vub21lKEdSQ3oxMS5ibGFja2xpc3QpID0gIkdSQ3oxMSIKIyBHUkN6MTEuYmxhY2tsaXN0CiMgc2F2ZVJEUyhHUkN6MTEuYmxhY2tsaXN0LCBmaWxlID0gIkdSQ3oxMS5ibGFja2xpc3QuZ3Jhbmdlcy5SRFMiKQpgYGAKCmBgYHtyfQpHUkN6MTEuYmxhY2tsaXN0IDwtIHJlYWRSRFMoZmlsZSA9ICJ+L0RvY3VtZW50cy9Qcm9qZWN0cy9SX0dlbmVyYWwvR1JDejExLmJsYWNrbGlzdC5ncmFuZ2VzLlJEUyIpCmBgYAoKQ2FsbCBwZWFrcyB3aXRoIG1hY3MyIGFuZCBmaWx0ZXIgd2l0aCBibGFja2xpc3QgYW5kIGZpbHRlciBvdXQgcGVha3MgaW4gMzAwYnAgc3RhcnQgYW5kIGVuZCBvZiBlYWNoIGNocm9tb3NvbWUgd2hpY2ggY2F1c2VzIGVycm9ycyBpbiBTaWduYWMgaW4gZG93bnN0cmVhbSBhbmFseXNlcwoKIyMgNi4xIE1laXMKYGBge3J9Ck1laXMgPC0gQ3JlYXRlUGVha3NXaXRoRmlsdGVyKE1laXMsIGZyYWcuZmlsZS4xMCwgR1JDejExLmJsYWNrbGlzdCwgYW5ub3RhdGlvbikKYGBgCgojIyA2LjIgUkZQCmBgYHtyfQpSRlAgPC0gQ3JlYXRlUGVha3NXaXRoRmlsdGVyKFJGUCwgZnJhZy5maWxlLjEzLCBHUkN6MTEuYmxhY2tsaXN0LCBhbm5vdGF0aW9uKQpgYGAKCiMgNyBVTUFQcwoKIyMgNy4xIE1laXMKYGBge3IsIHJlc3VsdHMgPSBGLCBmaWcuaGVpZ2h0PTUsIGZpZy53aWR0aD0xNX0KTWVpcyA8LSBHZXRVTUFQYW5kQ2x1c3RlcnMoTWVpcykKYGBgCgoyLDgsMTQsNCwyMCwyMSwyNSwyMywxNSwxMywzLDYsMTIsMTQsMTAKCiMjIDcuMiBSRlAKYGBge3IsIHJlc3VsdHMgPSBGLCBmaWcuaGVpZ2h0PTUsIGZpZy53aWR0aD0xNX0KUkZQIDwtIEdldFVNQVBhbmRDbHVzdGVycyhSRlApCmBgYAoKIyA4IEFkZCBNb3RpZnMKCiMjIyMgSkFTUEFSMjAyMCBtb3RpZiBtYXRyaXgKYGBge3J9CiMgR2V0IGEgbGlzdCBvZiBtb3RpZiBwb3NpdGlvbiBmcmVxdWVuY3kgbWF0cmljZXMgZnJvbSB0aGUgSkFTUEFSIGRhdGFiYXNlCnBmbSA8LSBnZXRNYXRyaXhTZXQoCiAgeCA9IEpBU1BBUjIwMjAsCiAgb3B0cyA9IGxpc3QoY29sbGVjdGlvbj0iQ09SRSIsIGFsbF92ZXJzaW9ucyA9IEZBTFNFKQopCmBgYAoKIyMgOC4xIE1laXMKYGBge3IsIHJlc3VsdHM9Rn0KRGVmYXVsdEFzc2F5KE1laXMpIDwtICJwZWFrcyIKTWVpcyA8LSBSZWdpb25TdGF0cyhNZWlzLCBnZW5vbWUgPSBCU2dlbm9tZS5EcmVyaW8uVUNTQy5kYW5SZXIxMSwgYXNzYXkgPSAicGVha3MiKQoKTWVpcyA8LSBBZGRNb3RpZnMoCiAgb2JqZWN0ID0gTWVpcywKICBnZW5vbWUgPSBCU2dlbm9tZS5EcmVyaW8uVUNTQy5kYW5SZXIxMSwKICBwZm0gPSBwZm0KKQpgYGAKIyMgOC4yIFJGUApgYGB7ciwgcmVzdWx0cz1GfQpEZWZhdWx0QXNzYXkoUkZQKSA8LSAicGVha3MiClJGUCA8LSBSZWdpb25TdGF0cyhSRlAsIGdlbm9tZSA9IEJTZ2Vub21lLkRyZXJpby5VQ1NDLmRhblJlcjExLCBhc3NheSA9ICJwZWFrcyIpCgpSRlAgPC0gQWRkTW90aWZzKAogIG9iamVjdCA9IFJGUCwKICBnZW5vbWUgPSBCU2dlbm9tZS5EcmVyaW8uVUNTQy5kYW5SZXIxMSwKICBwZm0gPSBwZm0KKQpgYGAKCgojIDkgU2F2ZSBwcm9jZXNzZWQgZmlsZXMKYGBge3J9CnNhdmVSRFMoTWVpcywgZmlsZSA9ICJSRFNmaWxlcy9NZWlzLmNsdXN0ZXJlZC5SRFMiKQpzYXZlUkRTKFJGUCwgZmlsZSA9ICJSRFNmaWxlcy9SRlAuY2x1c3RlcmVkLlJEUyIpCmBgYAoKIzEwIE5ldXJhbCBzdWJzZXQKCkJhc2VkIG9uIGNsdXN0ZXIgSUQncyBhbmQgVU1BUCBmcm9tIC9zY1JOQXNlcV9BVEFDc2VxX01laXMvRmlyc3RfYW5hbHlzaXNfbm9fTUVJU3BsYXNtaWQvUHJvY19JbmRpdmlkdWFsX1NhbXBsZXMvUkZQX0Fubm90YXRlX0NsdXN0ZXJzLm5iLmh0bWw6Cm5ldXJhbCBjbHVzdGVycyBmb3IgUkZQIGFyZTogMTQsIDIsIDMsIDksMTUsIDIxLCAxMiwgMCwgNgoKRGlkIG5vdCBhbm5vdGF0ZSBNZWlzIGNsdXN0ZXJzIGJlY2F1c2UgaGFkIHJlYWxpemVkIHRoYXQgTWVpcy1pbmplY3Rpb24gaGFkIGZhaWxlZC4gIEJhc2VkIG9uIFVNQVAgc3RydWN0dXJlLCBuZXVyYWwgY2x1c3RlcnMgZm9yIE1laXMgYXJlOiAyLDgsMTQsNCwyMCwyMSwyNSwyMywxNSwxMywzLDYsMTIsMTQsMTAKCiMgMTAuMSBNZWlzCgpgYGB7cn0KSWRlbnRzKE1laXMpIDwtICJ3c25uX3Jlcy4wLjgiCk1laXMubmV1cmFsIDwtIHN1YnNldChNZWlzLCBpZGVudHMgPSBjKCIyIiwiOCIsIjE0IiwiNCIsIjIwIiwiMjEiLCIyNSIsIjIzIiwiMTEiLCIxNSIsIjEzIiwiMyIsIjYiLCIxMiIsIjE0IiwiMTAiKSkKRGltUGxvdChNZWlzLm5ldXJhbCwgcmVkdWN0aW9uID0gIndubi51bWFwIikKYGBgCmBgYHtyfQpzYXZlUkRTKE1laXMubmV1cmFsLCBmaWxlID0gIlJEU2ZpbGVzL01laXMubmV1cmFsLnN1YnNldC5SRFMiKQpgYGAKCgojIDEwLjIgUkZQCgpgYGB7cn0KSWRlbnRzKFJGUCkgPC0gIndzbm5fcmVzLjAuOCIKUkZQLm5ldXJhbCA8LSBzdWJzZXQoUkZQLCBpZGVudHMgPSBjKCIxNCIsIjIiLCIzIiwiOSIsIjE1IiwiMjEiLCIxMiIsIjAiLCI2IikpCkRpbVBsb3QoUkZQLm5ldXJhbCwgcmVkdWN0aW9uID0gIndubi51bWFwIikKYGBgCmBgYHtyfQpzYXZlUkRTKFJGUC5uZXVyYWwsIGZpbGUgPSAiUkRTZmlsZXMvUkZQLm5ldXJhbC5zdWJzZXQuUkRTIikKYGBgCgoKYGBge3J9CnNlc3Npb25JbmZvKCkKYGBgCgo=